我的管理模式下还有下一个污物
<field name="title" type="string" indexed="true" stored="true"/>
<field name="body" type="text_general" indexed="true" stored="true"/>
<field name="url" type="string" uninvertible="true" indexed="true" stored="true"/>
我还将edismax与带有可选boost(qf = body ^ 2 title ^ 100)选项的查询字段一起使用。
我有许多来自不同域的网址,例如:
http://domain1.com/
http://domain1.com/aaa
http://domain1.com/aaa/bbb
http://domain1.com/aaa/bbb2
http://domain1.com/aaa/bbb3
http://domain2.com/
http://domain2.com/aaa
http://domain2.com/aaa/bbb
http://domain2.com/aaa/bbb2
http://domain2.com/aaa/bbb3
http://domain3.com/
http://domain3.com/aaa
http://domain3.com/aaa/bbb
http://domain3.com/aaa/bbb2
http://domain3.com/aaa/bbb3
问题是,当我搜索时,我从一个域中获得许多相似的结果,而下一个域的结果则从30-100 doc开始。如何从顶部的不同域获取结果。
答案 0 :(得分:0)
您必须将URL的域名分成自己的字段。您不能使用url
字段,因为它仅已包含唯一值,并且用于分组的字段也应该是string
字段(即,它不会拆分成多个标记)。
然后您可以使用Collapse & Expand support折叠基于域的结果集:
q=...&fq={!collapse field=domain}&expand=true