美文网首页程序员
solr7.4配置core创建及分词配置

solr7.4配置core创建及分词配置

作者: 非小惰 | 来源:发表于2018-08-02 18:00 被阅读0次

    1、solr配置

            首先我使用的是solr7.4所以下载解压后无需进行tomcat关联,直接在解压目录下solr-7.4.0/bin/solr start 就可以运行 ,也可进入到bin目录使用./solr start 进行运行,solr默认端口为8983,如需要自定义端口,则在启动是后面加上 -p 如./solr start -p 8888,启动后,在浏览器中输入http://localhost:8983/solr即可跳转到solr控制台页面


    2、创建Core

          solr以文件的方式将数据存储在core下,接下来我们就创建自己的core,点击控制台左边的Core admin

    点击Add Core

    core home的路径的查看我们稍后再聊,点击Add Core,我们认为会在core home路径下,创建了一个名为coreTest的文件夹并完成core的创建,然而

    上方红色报错信息中指出的/Users/edz/Documents/ide/solr/solr-7.4.0/server/solr/ 即为core home路径,可以用如下方式查看

    我们进入到core home中

    发现仅仅是创建了coreTest文件夹,core并未成功创建,因为我们缺少solrconfig.xml,将solr-7.4.0/server/solr/configsets/_default/下的conf文件夹,复制到新建的core目录下,即coreTest,再次点击Add Core

    创建成功,点击左侧Core Selector选择新添加的coreForCheck

    添加自定义key

    看到了存储类型,就要开始讲一下分词了,讲分词之前我们先看一下field type的类别,

    他的这些类别实际上是在配置文件中,配置文件路径如下 solr home/coreTest(上面创建core时的instanceDir路口)/conf/managed-schema 我们打开看一下

    下拉列表中的类型都是在此文件中配置的,solr默认添加了英文的分词,但是没有中文分词,这意味在此文件中并无英文分词的filed type,如果我们要进行分词,需进行如下操作


    3、分词配置

    下载ik分词的jar包

    链接: https://pan.baidu.com/s/116BEGAB0HXMtIei8SViyqw 密码: d3hy

    将jar包复制到路径solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib下,在上文提到的配置文件managed-schema中添加中文分词的field类别

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

         <analyzer type="index"> 

             <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" conf="ik.conf" useSmart="false"/> 

             <filter class="solr.LowerCaseFilterFactory"/>

         </analyzer> 

         <analyzer type="query"> 

             <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" conf="ik.conf" useSmart="true"/>

             <filter class="solr.LowerCaseFilterFactory"/> 

         </analyzer> 

     </fieldType>

    添加solr自带的中文分词

    将solr-7.4.0\contrib\analysis-extras\lucene-libs中的lucene-analyzers-smartcn-7.4.0.jar 复制到

    solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib下,在配置文件managed-schema中添加中文分词的field类别

    <fieldType name="worddata_smart" class="solr.TextField" positionIncrementGap="100">     <analyzer type="index">

             <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>     </analyzer>

         <analyzer type="query"> 

             <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>     </analyzer>

     </fieldType>

    重启solr, bin/solr restart -force

    再次进行添加

    为方便比较,再建一个field

    再添加一个使用自带分词

    进行分词校验

    结果如下

    无中文分词的字段

    ik分词

    自带分词

    上述为基本solr操作,下一步研究添加自定义分词词汇😁

    相关文章

      网友评论

        本文标题:solr7.4配置core创建及分词配置

        本文链接:https://www.haomeiwen.com/subject/jccsvftx.html