WEB开发网
开发学院软件开发Java 利用SOLR搭建企业搜索平台 之八(solr 实现去掉重... 阅读

利用SOLR搭建企业搜索平台 之八(solr 实现去掉重复的搜索结果,打SOLR-236_collapsing.patch补丁)

 2009-09-10 00:00:00 来源:WEB开发网   
核心提示: 结果: Xml代码<?xmlversion="1.0"encoding="UTF-8"?><response><lstname="responseHeader"><intname="s

结果:

Xml代码  

<?xml version="1.0" encoding="UTF-8"?>  
<response>  
  
<lst name="responseHeader">  
 <int name="status">0</int>  
 <int name="QTime">0</int>  
 <lst name="params">  
 <str name="collapse.field">popularity</str>  
 <str name="fl">id</str>  
 <str name="collapse.threshold">1</str>  
 <str name="indent">on</str>  
 <str name="q">*:*</str>  
 <str name="qt">collapse</str>  
 <str name="collapse">true</str>  
 </lst>  
</lst>  
<lst name="collapse_counts">  
 <str name="field">popularity</str>  
 <lst name="doc">  
 <int name="SP2514N">4</int>  
 <int name="F8V7067-APL-KIT">1</int>  
 <int name="MA147LL/A">1</int>  
 <int name="TWINX2048-3200PRO">1</int>  
 <int name="VS1GB400C3">3</int>  
 <int name="1">10</int>  
 </lst>  
 <lst name="count">  
 <int name="6">4</int>  
 <int name="1">1</int>  
 <int name="10">1</int>  
 <int name="5">1</int>  
 <int name="7">3</int>  
 <int name="0">10</int>  
 </lst>  
 <str name="debug">HashDocSet(6) Time(ms): 0/0/0/0</str>  
</lst>  
<result name="response" numFound="6" start="0">  
 <doc>  
 <str name="id">SP2514N</str>  
 </doc>  
 <doc>  
 <str name="id">F8V7067-APL-KIT</str>  
 </doc>  
 <doc>  
 <str name="id">MA147LL/A</str>  
 </doc>  
 <doc>  
 <str name="id">TWINX2048-3200PRO</str>  
 </doc>  
 <doc>  
 <str name="id">VS1GB400C3</str>  
 </doc>  
 <doc>  
 <str name="id">1</str>  
 </doc>  
</result>  
</response>  
可以看到 collapse_counts 相关的输出: 
 
<lst name="collapse_counts">  
 <str name="field">popularity</str>  
 <lst name="doc">  
 <int name="SP2514N">4</int>  
...  
 </lst>  
 <lst name="count">  
 <int name="6">4</int>  
 <int name="1">1</int>  
 <int name="10">1</int>  
 <int name="5">1</int>  
 <int name="7">3</int>  
 <int name="0">10</int>  
 </lst>  
 <str name="debug">HashDocSet(6) Time(ms): 0/0/0/0</str>  
</lst> 

上面的 count 下的内容(它的顺序是result/doc的顺序),表示 popularity=6 相同的结果还有 4 个,与 popularity=1 相同的结果还有 1 个,依此类推。这样就可以显示给用户的界面里提示“相同的其它内容不有N个”。

使用的参数有:

#启用 collapse 组件 

collapse=true 

#用那个字段来 hash 去除重量内容 

collapse.field=popularity 

#要结果中可以最多出现几个相同的文档 

collapse.threshold=1 

当然还有其它参数,请看:org.apache.solr.common.params.CollapseParams 类。

上一页  1 2 3 4 5 

Tags:利用 SOLR 搭建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接