Solr4.4入门,介绍Solr的安装、IK分词器的配置及高亮查询结果(转)
一、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,分词效果如下:

Solr4.4入门,介绍Solr的安装、IK分词器的配置及高亮查询结果(转)的更多相关文章
- solr添加中文IK分词器,以及配置自定义词库
Solr是一个基于Lucene的Java搜索引擎服务器.Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置,而且附带了一个基于H ...
- Elasticsearch入门之从零开始安装ik分词器
起因 需要在ES中使用聚合进行统计分析,但是聚合字段值为中文,ES的默认分词器对于中文支持非常不友好:会把完整的中文词语拆分为一系列独立的汉字进行聚合,显然这并不是我的初衷.我们来看个实例: POST ...
- 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器
系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...
- Solr4.10与tomcat整合并安装中文分词器
1.solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展,并对索引. ...
- 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 ...
- 如何开发自己的搜索帝国之安装ik分词器
Elasticsearch默认提供的分词器,会把每个汉字分开,而不是我们想要的根据关键词来分词,我是中国人 不能简单的分成一个个字,我们更希望 “中国人”,“中国”,“我”这样的分词,这样我们就需要 ...
- Elasticsearch下安装ik分词器
安装ik分词器(必须安装maven) 上传相应jar包 解压到相应目录 unzip elasticsearch-analysis-ik-master.zip(zip包) cp -r elasticse ...
- Elastic Stack 笔记(二)Elasticsearch5.6 安装 IK 分词器和 Head 插件
博客地址:http://www.moonxy.com 一.前言 Elasticsearch 作为开源搜索引擎服务器,其核心功能在于索引和搜索数据.索引是把文档写入 Elasticsearch 的过程, ...
- windows下elasticsearch安装ik分词器后无法启动
windows下elasticsearch安装ik分词器后启动报如下图错误: 然后百度说是elasticsearch路径有空格,一看果然我的路径有空格,然后重新换个路径就好了.
随机推荐
- BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
题目链接 一条边不变其它边减少可以看做一条边增加其它边不变. 假设要加的边lab为(A->B,v),那么肯定是要使除这条边外,A->B的每条路径上的最小权值都\(>v\),这样在连通 ...
- BZOJ 3339: Rmq Problem 莫队算法
3339: Rmq Problem 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3339 Description n个数,m次询问l,r ...
- android防止按钮连续点击方案之AOP
转载请标明出处http://www.cnblogs.com/yxx123/p/6675567.html 防止连续点击的实现方式有很多种,比如,在所有的onclick里面加上防多次点击的代码,或者定义一 ...
- CentOS 7搭建KVM在线管理面板WebVirtMgr之使用SSH授权登录
环境:CentOS 7.4 1.创建SSH私钥和ssh配置选项(在安装了WebVirtMgr的系统上): # 切换到nginx用户su - nginx -s /bin/bash # 生产ssh密钥 s ...
- C#调用C++Dll封装时遇到的一系列问题
最近帮底层开发的同时用C#重新封装一下dll,也就是用C#类来封装C++Dll里的方法,以供用户使用. 之前也用到过类似的应用,大多数问题都出在类型转换上,但是这次的应用层出不穷,所以在这里总结一下, ...
- golang-bcc-bpf-function-tracing
http://www.brendangregg.com/blog/2017-01-31/golang-bcc-bpf-function-tracing.html
- Revit API画垂直于风管的风管
start /// <summary> /// 选择风管与风管外一点,画与风管垂直的风管. /// </summary> [Transaction(TransactionMod ...
- Icon cache rebuilding with Delphi(Delphi 清除Windows 图标缓存源代码)
清除Windows图标缓存的代码: procedure RebuildIconCache; .... const sr_WindowMetrics='Control Panel\Desktop\Win ...
- Java Date 日期 时间 相关方法
DateTools.java import java.text.SimpleDateFormat; import java.util.Date; /** * 日期操作类 */ public class ...
- 虚拟化(三):vsphere套件的安装注意及使用
虚拟化(一):虚拟化及vmware产品介绍 虚拟化(二):虚拟化及vmware workstation产品使用 虚拟化(五):vsphere高可用群集与容错 vsphere套件里面基本的组件有e ...