Solr检索配置
来源:互联网 发布:3b代码编程及图案 编辑:程序博客网 时间:2024/05/01 04:36
使用Solr做全文检索的时候,需要接触到solr的配置文件(Schema.xml/Managed-schema.xml)
1.设置中文分词器(Ik)
1)将ik-analyzer-solr5-5.x.jar 放到solr-6.2.1\server\solr-webapp\webapp\WEB-INF\lib。2)把ik的配置文件IKAnalyzer.cfg.xml,mydict.dic,stopword.dic也放置到:solr-6.2.1\server\solr-webapp\webapp\WEB-INF\classes中,没有classes文件夹的话需要新建一个。3)在schema.xml或managed-schema.xml文件中添加以下节点:<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType> <field name="content" type="text_ik" indexed="true" stored="true" multiValued="false" /> 先是配置一个名为text_ik的字段类型,指定为IK分词器的class。然后新建一个字段,指定其类型为text_ik。利用该字段检索的时候就是IK的中文分词检索了。
2.设置建立索引的字段配置fileld节点
索引字段在建立索引和搜索索引中起着一个名称的作用。<field name="file_name" type="text_ik" indexed="true" stored="true" required="false" multiValued="false" /> 通过在Schema.xml/Managed-schema.xml配置文件中添加上面的结点就意味着声明了一个名为file_name的索引字段,类型为IK分词。
3.设置综合搜索copyFiled节点
大多时候我们搜索索引都是多字段来综合查询的在Schema.xml/Managed-schema.xml中将需要检索的字段,使用copyField拷贝到一个新的searchText的field中,并设置这个searchText field的multivalue属性为true即可。<fields> <field name="file_name" type="text_ik" indexed="true" stored="true" required="true" /> <field name="file_content" type="text_ik" indexed="true" stored="true" /> <field name="file_keywords" type="text_ik" indexed="true" stored="false" multiValued="true" /> </fields> <!--使用copyField标签来设置综合查询的字段--> <copyField source="name" dest="file_keywords" /> <copyField source="summary" dest="file_keywords" /> <!-- 以下可选 --> <uniqueKey>id</uniqueKey> <defaultSearchField>file_keywords</defaultSearchField> <solrQueryParser defaultOperator="AND" /> 在solrconfig.xml中可设置检索的时候,哪个field占的权重多一点<requestHandler name="dismax" class="solr.SearchHandler"> <lst name="defaults"> <str name="defType">edismax</str> <str name="echoParams">explicit</str> <float name="tie">0.1</float> <!-- <str name="bf">scoreParser(type)</str> --> <!--pf: 可提供对一条记录的多个字段做匹配的功能 qf: 针对查询的每个字段设置不同的boost权重打分,其设置的字段 必须为在pf中配置的项。--> <str name="pf"> file_name^100 file_content^50 file_path^20 </str> <str name="qf"> file_name^10 file_content^ file_path^2 </str></requestHandler>
4.高亮显示设置
注意:需要高亮显示的字段,必须在其field节点设置stored="true"属性 使用SolrJ的solrQuery类提供的方法进行高亮显示的设置// query.setHighlight(true); // 开启高亮组件或query.setParam("hl", "true"); query.setParam("hl", "true");// query.addHighlightField("NAME");// 高亮字段 可设置多个 query.setParam("hl.q", searchText); query.setParam("hl.fl", "NAME"); query.setHighlightSimplePre("<font color='red'>");//标记,高亮关键字前缀 query.setHighlightSimplePost("</font>");//后缀 query.setHighlightSnippets(3);//结果分片数,默认为1 query.setHighlightFragsize(1000);//每个分片的最大长度,默认为100 光使用这个的时候,我遇到一个问题就是无高亮显示,后来将需要高亮显示的字段在manage-schema中指定的field中的属性store设置为true后,成功将指定字段高亮显示,另外还要注意一点,要对指定字段进行高亮显示的时候,此字段必须在查询条件中存在,比如:query.setQuery("NAME:123 OR NAME:12 OR ABC:ABC");这样便可高亮显示该字段
5.建立文件索引
阅读全文
0 0
- Solr检索配置
- 配置solr使其支持中文检索
- solr中文同义词检索的配置讲解
- Solr部署配置(三)实时检索接口
- Solr全文检索介绍
- SOLR检索调试
- 全文检索技术--solr
- solr拼音检索
- 全文检索solr
- 网站全文检索--Solr
- solr中文全文检索
- solr 全文检索服务器
- 全文检索技术---solr
- solr检索建议
- solr全文检索
- solr 检索建议
- solr 拼音检索
- solr检索案例
- eclipse for C++ 导入文件夹(Mac)
- Hadoop 2.x环境搭建
- I/O流--1
- java面试基础知识(二)
- kimball的维度的缓慢变化总结
- Solr检索配置
- FastDFS 实现分布式文件系统(图片的上传)
- 什么情况下使用指针的引用(指针)
- J2EE搭建之七 创建一个Dynamic Web Project
- HDU 6168 Numbers 思维
- phpstorm 实现同步代码到远程虚拟机
- java-基础复习-工具类
- 【Solution】Git添加GitHub远程库免去账号密码验证
- javascript数据结构系列(五)-串