一、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. Codeforces.1041F.Ray in the tube(思路)

    题目链接 \(Description\) 有两条平行于\(x\)轴的直线\(A,B\),每条直线上的某些位置有传感器.你需要确定\(A,B\)轴上任意两个整点位置\(x_A,x_B\),使得一条光线沿 ...

  2. 六省联考2017 Day1

    目录 2018.3.18 Test T1 BZOJ.4868.[六省联考2017]期末考试 T2 T3 BZOJ.4870.[六省联考2017]组合数问题(DP 矩阵快速幂) 总结 考试代码 T1 T ...

  3. Codeforces 666E Forensic Examination SAM+权值线段树

    第一次做这种$SAM$带权值线段树合并的题 然而$zjq$神犇看完题一顿狂码就做出来了 $Orz$ 首先把所有串当成一个串建$SAM$ 我们对$SAM$上每个点 建一棵权值线段树 每个叶子节点表示一个 ...

  4. Code Forces 698A Vacations

    题目描述 Vasya has nn days of vacations! So he decided to improve his IT skills and do sport. Vasya know ...

  5. Android 开源库获取途径整理

    介绍眼下收藏 Android 开源库比較多的 GitHub 项目.站点.Twitter.App 及怎样获取最新的 Android 开源库. 微信号: 1. GitHub Android 开源项目汇总 ...

  6. HAL驱动的串口编程陷阱

    http://bbs.elecfans.com/jishu_464356_1_1.html 手上有块NUCLEO STM32L053x板子,用来做串口实验,看了下ST的最新库HAL驱动,于是想用HAL ...

  7. [Winform]Media Player com组件应用中遇到的问题

    摘要 最近一个项目中,需要用到在客户端全屏循环播放视频,当时考虑使用开源的播放器,但控制起来不方便,然后考虑既然都是windows系统,那么可以考虑使用微软自带的Media Player播放器.所以在 ...

  8. 内存映射函数remap_pfn_range学习——示例分析(1)

    span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }.CodeMirror ...

  9. Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(2) 自己封装的Calendar接口

    本章主要是收藏一些常用的类和接口,包括:万年历(农历.阳历节日.阴历节日).自定义的Calendar接口. 万年历 源码如下(ChineseCalendar.java): package com.vi ...

  10. 禁止浏览器backspace键(退格键)时跳转页面(extjs,javascript)

    Ext实现方式: //方法一  var key = new Ext.KeyMap(document,{   key: 8,   fn: function(obj,e){    var type = e ...