【solr】自定义扩展similarity class开发&使用
客户需求:使用自定义扩展的similarity class,让关键字出现的频率对搜索得分的影响为0,即关键字出现的频率不影响得分。
1.编写SolrSimilarity类,并打包SolrSimilarity-1.0-SNAPSHOT.jar
2. 将SolrSimilarity-1.0-SNAPSHOT.jar拷贝到每个solr所安装的机器的/opt/huawei/Bigdata/FusionInsight_HD_6.5.1.X/install/FusionInsight-Solr-6.2.0/solr-6.2.0/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib/,并执行
chown omm:wheel /opt/huawei/Bigdata/FusionInsight_HD_6.5.1.X/install/FusionInsight-Solr-6.2.0/solr-6.2.0/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib/SolrSimilarity-1.0-SNAPSHOT.jar
修改jar包所属用户为omm
3. 在客户端执行solrctl confset --get confname /opt/conf/ ,其中confname为目标配置集,将其下载到/opt/conf目录下
4. 在下载的配置集的managed-schema中增加配置,此处class为第1步中的类的全路径
<similarity class="com.huawei.fusioninsight.solr.similarity.SolrSimilarity.TzzSolrSimimarity">
</similarity>
5.在下载的配置集的solrconfig.xml中配置
<lib dir="/opt/huawei/Bigdata/FusionInsight_HD_6.5.1.X/install/FusionInsight-Solr-6.2.0/solr-6.2.0/apache-tomcat-8.5.40/webapps/solr/WEB-INF/lib/" regex="SolrSimilarity*.jar" />
6. 使用solr用户更新配置集solrctl confset --update confname /opt/conf,其中confname为目标配置集
7.重启solr服务(其实只要保证重启当前collection所分布的节点即可,但是为了之后使用此配置集创建索引不引发其他未知问题,此时选择重启整个服务,让这个自定义扩展类在每个solrserver都生效)
8.验证:
修改之前:
修改之后:
- 点赞
- 收藏
- 关注作者
评论(0)