solr安装记录
[[email?protected] bin]# ./solr start -force ? ? ? 一、准备环境 ? ? ? solr 7配置中文分词器????这里示例配置solr官方提供的Smartcn的中文分词、IK的中文分词及拼音分词1、配置smartcn中文分词器??? solr安装包有提供Smartcn中文分词架包,在SOLR_ROOT/contrib/analysis-extras/lucene-libs/下,我这里使用solr 7.2.1,所以架包名称为lucene-analyzers-smartcn-7.2.1.jar??? 把smartcn中文分词器架包复制到solr项目的WEB-INF/lib目录下cp /usr/local/solr-7.2.1/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.2.1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/??? 1??? 配置 fieldType??? 找到solrhome/${collection}/conf/managed-schema??? 添加smartch中文分词器配置?<schema>??? <!-- 配置中文分词器 -->??? <fieldType name="text_smartcn" 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></schema>??? 1??? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9??? 10??? 11??? 重启tomcat??????? 新添加架包一定要重启tomcat??? 查看效果??? smart中文分词效果2、配置IK Analyzer中文分词器先下载 IK Analyzer中文分词器架包及相关配置文件。听说I分词器不支持**solr 6、7搭建成的**solrcloud,待验证。这里写图片描述里面包括IK Analyzer 2个架包:ik-analyzer-solr5-5.x.jar、solr-analyzer-ik-5.1.0.jarIK配置文件 IKAnalyzer.cfg.xml、ext.dic、stopword.dicIKAnalyzer.cfg.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> ?<properties> ???? <comment>IK Analyzer 扩展配置</comment>??? <!--用户可以在这里配置自己的扩展字典 -->??? <entry key="ext_dict">ext.dic;</entry> ??? <!--用户可以在这里配置自己的扩展停止词字典-->??? <entry key="ext_stopwords">stopword.dic;</entry> </properties>??? 1??? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9??? 10??? 11准备IK中文分词器环境??? 把IK中文分词器架包复制到solr项目的WEB-INF/lib目录下??? 把IK分词器相关配置文件复制到solr项目WEB-INF/classes/ 目录下??? 这里写图片描述配置 fieldType找到solrhome/${collection}/conf/managed-schema在solr scheam文件中里添加 IK fieldType。<schema>? <!-- IK分词 -->? <fieldType name="text_ik" class="solr.TextField">??? <analyzer type="index">????? <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>??? </analyzer>??? <analyzer type="query">????? <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="false"/>??? </analyzer>? </fieldType></schema>??? 1??? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9??? 10??? 11??? 说明:当 useSmart=”false”,分词粒度较小,分词后个数多;当 useSmart=”true”,分词粒度大,分词后个数据少。效果分词的效果比官方提供的smartcn中文分词要好,去掉了标点符号,去掉了 的 等词义不重要的字。这里写图片描述3、拼音分词器先下载 IK拼音分词器架包:pinyin4j-2.5.0.jar、pinyinAnalyzer4.3.1.jar把相关架包复制到solr项目的WEB-INF/lib目录下配置fieldType找到solrhome/${collection}/conf/managed-schema在solr scheam文件中里添加 IK fieldType<schema>?<!-- IK 拼音分词 -->?<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">??? <analyzer type="index">??????? <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>??????? <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />??????? <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />??? </analyzer>??? <analyzer type="query">??????? <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>??????? <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />??????? <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />??? </analyzer>?</fieldType></schema>??? 1??? 2??? 3??? 4??? 5??? 6??? 7??? 8??? 9??? 10??? 11??? 12??? 13??? 14??? 15效果这里写图片描述 --------------------- ?作者:写代码的蓝胖子 ?来源:CSDN ?原文:https://blog.csdn.net/huangliuyu00/article/details/79491513 ?版权声明:本文为博主原创文章,转载请附上博文链接! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |