solr学习-分词

    最近在做一个大数据的项目。需要在前端对用户的上网日志进行检索。由于开发时间短暂,项目急需演示等多种原因,最后决定使用solr作为检索引擎。将用户的上网日志导入solr中进行检索。

    现在通过一个经典的例子中文分词来学习和掌握solr。

    solr的环境搭建:solr4.3.1+tomcat7.0.29+jdk1.7+mmseg4j-1.9.1.zip

    通过查找mmseg4j的官方文档,mmseg4j-1.9.1兼容solr4.3.1。(http://code.google.com/p/mmseg4j/)

    现在开始进行搭建:

    1.解压缩tomcat、solr、jdk、mmseg4j

    2.tomcat的配置此处不再赘述。

    3.将solr目录下dist文件夹下的solr.war包拷贝到tomcat的webapps目录下。创建文件夹solr 用jar xvf solr.war命令将war包解压到solr文件夹下。

    4.进入solr文件夹下,编辑web.xml,在web.xml中加入配置

    注意<env-entry-value></env-entry-value>标签的路径填写绝对路径。

<env-entry>
        <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/home/jeff/source/solr/work/apache-tomcat-7.0.29/webapps/solr/solr_home</env-entry-value>
        <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

    5.在solr目录下创建solr_home文件夹,将解压的solr-4.3.1下example文件夹下的solr目录下的所有文件拷贝到solr_home下;然后复制example/lib/ext目录中的jar包到solr项目的lib下(在我的电脑上是/home/jeff/source/solr/work/apache-tomcat-7.0.29/webapps/solr/WEB-INF/lib);然后将example/resources/log4j.properties拷到classpath(我在apache-tomcat-7.0.29/webapps/solr/目录下新建了一个classes目录,放log4j.properties放了进去)。

    6.启动tomcat此时可以看到项目可以正常启动,截止目前为止solr的环境搭建已经完毕。

    7.将mmseg4j-1.9.1下的dist目录下的所有jar包拷贝到项目的apache-tomcat-7.0.29/webapps/solr/WEB-INF/lib下

    8.在solr的conf目录apache-tomcat-7.0.29/webapps/solr/solr_home/collection1/conf下编辑schema.xml,在配置中添加如下配置

在<types></types>标签中添加

<fieldType name="textComplex" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" />
      </analyzer>
</fieldType>
<fieldType name="textSimple" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple"/>
      </analyzer>
</fieldType>

在<fields></fields>标签中添加:

<field name="title_test" type="textComplex" indexed="true" stored="true" multiValued="true" />
<field name="content_test" type="textSimple" indexed="true" stored="false" multiValued="true" />

    9.重新启动tomcat,在solr主页中选择core selector中的collection1,选择Analyse选项,在Field Value (Index)输入一句话例如“开源中国社区”,点击分析按钮:

solr学习-分词_第1张图片

可以看到分词效果,ok,搞定。学习一个新的工具做出小例子来,就会信心满满的继续起航。





你可能感兴趣的:(Solr)