Solr更改查询结果

Solr更改查询结果,solr,Solr,我的管理模式中有下一个字段 <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="tru

我的管理模式中有下一个字段

  <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"/>

问题是,当我搜索时,我从一个域得到许多相似的结果,而从下一个域得到的结果从30-100个文档开始。如何从顶部的不同域中获得结果。

您必须将URL的域名分离到自己的字段中。您不能使用
url
字段,因为它只包含唯一的值,并且用于分组的字段也应该是
string
字段(即,它不会被拆分为多个令牌)

然后,您可以使用根据域折叠结果集:

q=...&fq={!collapse field=domain}&expand=true

您必须将URL的域分离到它自己的字段中,然后使用将结果分组到该字段中。@MatsLindh,我找不到一个好的示例,您能详细解释一下吗。>您必须将URL的域分离到它自己的域中您的意思是我必须创建一个新域并在那里只设置域名,如:,等等。。。?当我在查询中使用{!collapse field=url}时,没有任何更改。我进一步阅读并尝试了它,但问题是每个url非常相似,但不相同。即使我使用group=true&group.field=url,我也会得到numFound=1的组。还有其他建议吗?我们可以使用regexp吗?是的,您必须提取URL的域部分并将其索引到一个新字段中。您不能使用
url
字段进行分组,因为它已经是唯一的值,不会给您任何有用的信息。我还建议在域字段中使用
string
字段,因为您不希望在该字段上进行任何处理或标记化。@MatsLindh dude,将其添加为答案,我会将其检查为肯定的)),非常感谢!
q=...&fq={!collapse field=domain}&expand=true