solr搜索之demo和集成IKAnalyzer(二)

1      新建demo-solr

关闭运行的solr应用。

进入solr目录:D:\solr-4.10.2\example

1、在example目录下创建demo-solr文件夹;

2、将./solr下的solr.xml拷贝到demo-solr目录下;

3、在demo-solr下创建demo目录,并且在demo目录下创建conf和data目录;

4、将example\solr\collection1\core.properties文件拷贝到example\demo-solr\demo下,并且修改name=demo;

5、将example\solr\collection1\conf下的schema.xml、solrconfig.xml拷贝到example\demo-solr\demo\conf下;

6、修改schema.xml文件,使其配置最小化:

【1,solr配置中:<field>name为“_version”“_root_”这两个是必须保留字段

2,<field>type属性值,必须进行<fieldType>定义匹配;】

<?xmlversion="1.0" encoding="UTF-8" ?>

<schemaname="example" version="1.5">

<field name="_version_"type="long" indexed="true" stored="true"/>

<field name="_root_"type="string" indexed="true" stored="false"/>

<!—type类型,indexed是否索引,stored是否存储,required是否必须,multiValued是否可以为多个值 -->

<field name="id"type="string" indexed="true" stored="true"required="true" multiValued="false" />

<field name="title"type="string" indexed="true" stored="true"multiValued="true"/>

<!—唯一key-->

<uniqueKey>id</uniqueKey>

<fieldType name="string"class="solr.StrField" sortMissingLast="true" />

<fieldType name="long"class="solr.TrieLongField" precisionStep="0"positionIncrementGap="0"/>

</schema>

7、修改solrconfig.xml文件,修改一些配置,大部分保持默认:

  1. 将所有的<lib>标签注释掉;(notepad++ 注释快捷键:ctrl+q 或 ctrl+k)

  1. 搜索<str name="df">text</str>替换成<strname="df">title</str>,所有的都要替换

df : default field默认查询索引字段。原来默认text字段是存在的,经过第6步更改以后,是不存在的。所以全部更改为title字段。

  1. 将<searchComponent name="elevator"class="solr.QueryElevationComponent" >注释掉(这个的功能类似百度的竞价排名):

8、启动solr:进入:D:\solr-4.10.2\example

java -Dsolr.solr.home=taotao-solr -jar start.jar     指定core项目启动(更改solr应用,指定应用启动):

(-D设置启动运行时参数格式:-D参数名=参数值)

报错:

solrconfig.xml配置文件注释有问题!注意上述:7步骤c) 。

去掉这个多余的注释,再试:

成功!

在不使用其他分词的情况下,测试Analysis分析分词,效果:

2      集成IKAnalyzer中文分词器

下载IKAnalyzer: https://code.google.com/p/ik-analyzer/

IK分词器官方版本是不支持Lucene4.X的,有人基于IK的源码做了改造,支持了Lucene4.X

https://code.google.com/p/ikanalyzer-4-support/

友情提示:以上两个网站需要翻墙!!!

1、  将IKAnalyzer-2012-4x.jar拷贝到example\solr-webapp\webapp\WEB-INF\lib下;

2、  目录:D:\solr-4.10.2\example\demo-solr\demo\conf,在schema.xml文件中添加fieldType:

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

<analyzerclass="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

<?xmlversion="1.0" encoding="UTF-8" ?>

<schema name="example"version="1.5">

<field name="_version_"type="long" indexed="true" stored="true"/>

<field name="_root_"type="string" indexed="true" stored="false"/>

<field name="id"type="string" indexed="true" stored="true"required="true" multiValued="false" />

<!-- 指定分词类型 -->

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

<uniqueKey>id</uniqueKey>

<fieldType name="string"class="solr.StrField" sortMissingLast="true" />

<fieldType name="long"class="solr.TrieLongField" precisionStep="0"positionIncrementGap="0"/>

<!-- 添加IKAnalyzer中文分词器 -->

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

<analyzerclass="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

</schema>

注意:StrField和TextField的区别就是:TextField做分词,StrField是不做分词。

3、重启solr应用,在solr界面进行Analysis分析分词测试:

查看title字段定义:已经更新指定为IKAnalyzer分词器

时间: 2024-10-11 21:02:19

solr搜索之demo和集成IKAnalyzer(二)的相关文章

solr搜索之tomcat运行solr(五)

1      tomcat上运行solr 准备环境: apache-tomcat-7.0.77.zip, solr-4.10.2.zip, java version:1.7 下载tomcat:http://tomcat.apache.org/ 下载solr:http://lucene.apache.org/solr/ or  http://www.apache.org/dyn/closer.cgi/lucene/solr/ ====================================

JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabin&version=1 解决方法: 出现以上错误的原因是,solr服务器上配置的Field和javabean提交的Field不能对应, 导致solr服务器找不到域,拒绝访问. 打开SOLR_HOME下的conf文件夹找到schema.xml文件,在其中添加对应的域. 例如以下代码添加了:title,

elasticsearch系列一:elasticsearch(ES简介、安装&amp;配置、集成Ikanalyzer)

一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实

elasticsearch系列一elasticsearch(ES简介、安装&amp;配置、集成Ikanalyzer)

一.ES简介 1. ES是什么? Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上 用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API. Elasticsearch 不仅仅只是一个全文搜索引擎. 它可以被下面这样准确的形容: 一个分布式的实时文档存储,每个字段可以被索引与搜索--作数据库用 一个分布式实

Solr搜索技术

Solr搜索技术 今日大纲 回顾上一天的内容: 倒排索引 lucene和solr的关系 lucene api的使用 CRUD 文档.字段.目录对象(类).索引写入器类.索引写入器配置类.IK分词器 查询解析器.查询对象(用户要查询的内容).索引搜索器(索引库的物理位置).排名文档集合(包含得分文档数组) 六种高级查询(相似度查询) 分词器(扩展词典.停用词典) 分页 得分(激励因子(作弊)) 高亮 排序 ●    Solr简介.运行 ●    Solr基本使用 ●    Solr Core 配置

solr搜索流程

一.solr搜索流程介绍 1. 前面我们已经学习过Lucene搜索的流程,让我们再来回顾一下 流程说明: 首先获取用户输入的查询串,使用查询解析器QueryParser解析查询串生成查询对象Query,使用所有搜索器IndexSearcher执行查询对象Query得到TopDocs,遍历TopDocs得到文档Document 2. Solr搜索的工作流程: 流程说明: 用户输入查询字符串,根据用户的请求类型qt(查询为/select)选择请求处理器RequestHandler,根据用户输入的参数

持续集成(二)工具搭建篇—内网邮件服务器搭建

在我们的持续构建中,项目构建中出现错误提醒,或者开发人员之间的沟通交流,进度汇报的事务,都是离不开一个通信工具,那就是邮件.在我们的项目开发中如果使用第三方的邮件平台,这肯定不是最好的选择,因为第三方的邮件需要外网的支持,但是外网又不是特别的可靠,假如外网链接出现了问题,这样就会不必要的延误我们的工期.再或者很多项目都是保密项目,在开发中只能用内网.但是不用邮件吧又不行.为了解决这个头疼的问题,我们的内网邮件服务器工具就出现了,只要用它安装在我们的服务器上,配置好账户,配置好客户端,在内网里就可

Solr搜索结果说明 (转)

在admin页面,输入相关内容后,会返回xml格式的内容.说明如下: <?xml version="1.0" encoding="UTF-8"?> <response> <lst name="responseHeader"> <int name="status">0</int> <int name="QTime">3</int&g

iOS- 详解如何使用ZBarSDK集成扫描二维码/条形码,点我!

1.前言 目前市场主流APP里,二维码/条形码集成主要分两种表现形式来集成: a. 一种是调用手机摄像头并打开系统照相机全屏去拍摄 b. 一种是自定义照相机视图的frame,自己控制并添加相关扫码指南 今天我就用ZBarSDK来实现上诉两种主流集成方式,与大家共同交流学习/ 2.第一步导入ZBarSDK 可以从github上下载好ZBarSDK,导入项目,并且导入相关iOS.framework 如图: 3.集成扫描二维码/条形码 3.1.调用手机摄像头并打开系统照相机全屏去拍摄 实现效果图: 1