您的位置:首页 > 博客中心 > 数据库 >

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记

时间:2022-03-10 17:28

1.如何将solr部署,请参考之前的文章

2.按上述配置好后,在solr_home文件夹中,将包含collection1文件夹,这就是solr的一个实例。下面我们来看看collection1中的文件内容。

collection1中包含conf和data两个子文件夹。data中包含tlog和index(如果没有也没关系,稍后再solr建立索引时,将会被创建)。tlog是记录日志的文件夹,index是存放索引的文件夹。conf中包含lang文件夹和若干文件。lang文件夹中包含的是词库文件,但是solr默认是没有中文词库的,所以之后会将中文词库加入该文件夹中。在conf中,包含了若干xml文件,我们针对solr配置,是需要配置solrconfig.xml和schema.xml即可。下面我们讲一下如何配置这两个文件。

3.先配置solrconfig.xml。solrconfig.xml是solr的核心文件。这里包含了jar包引用,数据库读取路径配置,操作接口配置。

jar包配置如下

gxlsystem.com,布布扣

如上,我们定义了三个fieldType,这三个表示了对中文进行索引的三种方式。都属于solr.TextField类。analyzer均为mmseg4j,只是使用的mode不同。dicPath即为词库所在位置。

1 <field name="question1_type" type="text_chn_maxword" indexed="true" stored="true"/>

这里定义了一个名为question1_type的field,使用text_chn_maxword方式进行索引。

这里有一点是要注意的,solr中是没有and的,所以,要在多个字段查询匹配的关键字,要使用到copyField这个类型。

例如

1     <field name="question2_title" type="text_chn_maxword" indexed="true" stored="true"/>
2     <field name="question2_body" type="text_chn_maxword" indexed="true" stored="true"/>
3 
4     <field name="question2_text" type="text_chn_maxword" indexed="true" stored="true"  multiValued="true"/>
5     <copyField source="question2_title" dest="question2_text"/>
6     <copyField source="question2_body" dest="question2_text"/>

这里就是将question2_title和question2_body共同索引到question2_text中,这样只要question2_title或question2_body任意被关键字匹配,就会将question2_text返回。注意question2_text的multiValued="true",这点是必须的。

5.遇到的问题

中文词库下载

http://download.labs.sogou.com/dl/sogoulabdown/SogouW/SogouW.zip

mmseg4j需要使用2.0以上版本,2.0一下在solr4.8中会有bug

https://code.google.com/p/mmseg4j/

 

solr 4.8+mysql数据库数据导入 + mmseg4j中文全文索引 配置笔记,布布扣,bubuko.com

热门排行

今日推荐

热门手游