solr是在lucene的基础上做的开发,那么在某些功能的实现上,与lucene也会有相似之处。
solr的高亮显示(包括自动摘要),是通过hl这个param,以及其相关变量来实现的,hl是hightlight的简写。lucene中是通过highlighter来操作高亮和摘要的。
配置高亮的相关属性,是在solrconfig.xml中配置的。在 <requestHandler name="search" class="solr.SearchHandler" default="true">下进行配置。solrconfig.xml文件中包含多个requestHandler的标签,但是只有在上述的名为search的标签中配置才有效。现将配置的案列公布如下:
其中,hl是指定是否使用高亮;hl.fl,指定对哪些域进行高亮,对多个域进行高亮的话,好像是用逗号隔开;f.name.hl.fragsize是指摘要的长度,默认0代表不做摘要。而hl.simple.pre和hl.simple.post则是指定高亮时显示的格式,默认是<em></em>。详细内容请参见:http://wiki.apache.org/solr/HighlightingParameters。设置完成后,用solr查看索引,你会发现如下格式的数据,其中lst中的name是id。
在solrj中,通过QueryResponse对象的getHighlighting()方法获得。该方法返回 Map<String,Map<String,List<String>>>类型的数据。其中第一个Map中的key是id,第二个Map中的key是field,List<String>中封装的就是高亮与摘要处理过后的内容了。
一些相关的资料:
http://www.cnblogs.com/nayitian/archive/2013/02/20/2918938.html
http://blog.csdn.net/chenjia3615349/article/details/8112289
http://wiki.apache.org/solr/Solrj http://lucene.apache.org/solr/api-3_6_2/
solr高亮参数说明:http://wiki.apache.org/solr/HighlightingParameters
综合资料(智能提示) http://www.colorfuldays.org/tag/solr/
facet的官方文档:http://wiki.apache.org/solr/SolrFacetingOverview
关于facet,这篇文章写的很详细:http://wenku.baidu.com/view/1c3fd63143323968011c92cc.html
http://10.0.1.20:8989/solr/select/?q=province%0D%0A&version=2.2&start=0&rows=10&indent=on&sort=publishYear%20asc(逗号用%20表示)
http://wiki.apache.org/solr/DisMaxQParserPlugin