一、Windows下安装solr-4.4.0

1、  下载solr.4.4

2、  下载绿色版tomcat6.0.18

3、  解压下载的solr到d:\study\solr,将dist目录下的solr4.4.0.war包复制到tomcat的webapps下

4、  在web.xml中配置solr.home为解压的 solr中的d:\study\solr\example\solr

<env-entry>

<env-entry-name>solr/home</env-entry-name>

<env-entry-value>D:\study\solr\solr-4.4.0\example\solr</env-entry-value>

<env-entry-type>java.lang.String</env-entry-type>

</env-entry>

如果不做此配置,在启动的时候将会报异常 :

solr - org.apache.solr.common.SolrException: Could not load config for solrconfig.xml

5、  启动tomcat,访问http://localhost:8080/solr-4.4.0即可访问

6、  在左侧树中,选择collection1,会弹出节点菜单,其中documents功能表示往索引目录中添加记录,而Query可以查询指定目录。

7、  往服务中添加索引

String url = "http://localhost:8080/solr-4.4.0";

SolrServer server = new HttpSolrServer(url);

SolrInputDocument doc1 = new SolrInputDocument();

doc1.addField("id", "1");

doc1.addField("title", "信息科技");

doc1.addField("content", "企业信息门户,元数据,数字沙盘,知识管理");

server.add(docs);

server.commit();

8、  查询

public static void main(String[] args) {

String url = "http://localhost:8080/solr-4.4.0";

SolrServer server = new HttpSolrServer(url);

SolrQuery query = new SolrQuery("云南");

query.setFacetLimit(1);

//以下两个参数常用作分页时使用

query.setRows(1);// 设置每次取多少条

query.setStart(0);//设置从第几条开始查询

//以下几行设置查询结果关键字高亮显示

query.setHighlight(true);

// hl.fl参数表示哪个几Field关键字段高亮

query.setParam("hl.fl", "title, content");

query.setHighlightSimplePre("<font color=red>"); query.setHighlightSimplePost("</font");                                    query.setSort("name",ORDER.desc);

        try {

QueryResponse response = server.query(query);

SolrDocumentList docs = response.getResults();

System.out.println("文档个数:" + docs.getNumFound());

System.out.println("查询时间:" + response.getQTime());

for (SolrDocument doc : docs) {

System.out.println("title: " + doc.getFieldValue("title"));

System.out.println("content : " + doc.getFieldValue("content "));

}

catch (Exception e) {

e.printStackTrace();

}

}

二、在solr中配置IK中文分词器

在目录solr/example/solr/collection1/conf中的 secham.xml中types标签最后添加定义字段类型。

secham.xml文件是定义的类型以及存储的域。

<fieldType name="text_ik" class="solr.TextField">

<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

在field中指定字段类型为上面定义的

<field name="name" type="text_ik" indexed="true" stored="true"/>

设置完比后重启服务

在admin管理台中,由于name是IK分词器,所以分词后的效果如下:

而title域是用的默认的分词器,即text_general,分词效果如下:

这说明IK分词器配置成功

Solr4.4入门,介绍Solr的安装、IK分词器的配置及高亮查询结果(转)的更多相关文章

  1. solr添加中文IK分词器,以及配置自定义词库

    Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置,而且附带了一个基于H ...

  2. Elasticsearch入门之从零开始安装ik分词器

    起因 需要在ES中使用聚合进行统计分析,但是聚合字段值为中文,ES的默认分词器对于中文支持非常不友好:会把完整的中文词语拆分为一系列独立的汉字进行聚合,显然这并不是我的初衷.我们来看个实例: POST ...

  3. 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器

    系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...

  4. Solr4.10与tomcat整合并安装中文分词器

    1.solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引. ...

  5. Linux下,非Docker启动Elasticsearch 6.3.0,安装ik分词器插件,以及使用Kibana测试Elasticsearch,

    Linux下,非Docker启动Elasticsearch 6.3.0 查看java版本,需要1.8版本 java -version yum -y install java 创建用户,因为elasti ...

  6. 如何开发自己的搜索帝国之安装ik分词器

     Elasticsearch默认提供的分词器,会把每个汉字分开,而不是我们想要的根据关键词来分词,我是中国人 不能简单的分成一个个字,我们更希望 “中国人”,“中国”,“我”这样的分词,这样我们就需要 ...

  7. Elasticsearch下安装ik分词器

    安装ik分词器(必须安装maven) 上传相应jar包 解压到相应目录 unzip elasticsearch-analysis-ik-master.zip(zip包) cp -r elasticse ...

  8. Elastic Stack 笔记(二)Elasticsearch5.6 安装 IK 分词器和 Head 插件

    博客地址:http://www.moonxy.com 一.前言 Elasticsearch 作为开源搜索引擎服务器,其核心功能在于索引和搜索数据.索引是把文档写入 Elasticsearch 的过程, ...

  9. windows下elasticsearch安装ik分词器后无法启动

    windows下elasticsearch安装ik分词器后启动报如下图错误: 然后百度说是elasticsearch路径有空格,一看果然我的路径有空格,然后重新换个路径就好了.

随机推荐

  1. ApiPost自动化测试基础之:接口参数依赖的情景处理

    在<ApiPost环境变量之第1课>里,我们介绍了什么是ApiPost环境变量,并如何定义.使用它. 环境变量.接口参数依赖的处理是ApiPost自动化测试的基础.本文主要讲解接口参数依赖 ...

  2. C#开发Unity游戏教程之Unity中方法的参数

    C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别 ...

  3. 前端网页、php与mysql数据库字符编码(解决中文等乱码问题)

    web开发中经常涉及前端网页——php——mysql之间的数据交互,当数据只有英文时通常不会有什么问题,但一旦涉及中文,三个地方的某一处字符编码不一致(如,网页使用的时gbk而mysql使用utf-8 ...

  4. python面向对象魔术方法补充

    一.描述符 在 面向对象 编程中 定义一个(没有定义方法)类:class person , 在这个类里面,有name,age, heigth, weight,等等属性, 这个类就可以看作一个对 per ...

  5. 【转载】CMenu自绘---钩子---去除边框

    使用默认的CMenu菜单类或者继承CMenu实现的菜单扩展类,在显示的时候最外层都会有边框出现,或者说是具有3D外观(菜单阴影不算),当改变菜单背景色或者需要加个边框线时就会看上去很不美观.看过很多菜 ...

  6. hdu 5723 Abandoned country 最小生成树 期望

    Abandoned country 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5723 Description An abandoned coun ...

  7. VMware 使用本机代理上网

    灰机使用方法 VMware 安装方法 首先解决主机的配置 1.查询本机 IP 地址,使用 ipconfig /all 2.更改小灰机的设置 3.虚拟机设置 4.Ubuntu 设置

  8. CentOS下使用LVM进行分区(转)

    说明:为什么抄,因为这篇文章图文并茂,所有测试都在CentOS 6和7测试过. 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统 ...

  9. word如何插入和删除脚注,尾注

    在我们日常使用word时,经常会使用到脚注/尾注来对文中某些文字或内容进行注释或是重点说明,效果挺好,挺直观和明显.但是很多人并不会使用,特别是当需要删除脚注事,就特别苦恼了,那根小横线怎么也删除不掉 ...

  10. Fiddler 实现手机的抓包

    Fiddler是我最喜爱的工具,几乎每天都用, 我已经用了8年了. 至今我也只学会其中大概50%的功能. Fiddler绝对称得上是"神器", 任何一个搞IT的人都得着的. 小弟我 ...