首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr/SolrNet分组结果

Solr/SolrNet分组结果
EN

Stack Overflow用户
提问于 2011-05-01 16:11:39
回答 1查看 2.1K关注 0票数 2

我使用Solr制作了一个基于asp.net和solrnet的产品目录,到目前为止一切都很好。我需要通过添加一些分组选项来扩展搜索结果。

首先,我将解释模式是什么样子的:

代码语言:javascript
复制
 <field name="product_id" type="string" indexed="true" stored="true" required="true" /> 
 <field name="name" type="string" indexed="true" stored="true"/>
 <field name="merchant" type="string" indexed="true" stored="true"/>
 <field name="merchant_id" type="int" indexed="false" stored="true"/>
 <field name="merchant_logo" type="string" indexed="false" stored="true"/>
 <field name="brand" type="string" indexed="true" stored="true"/>
 <field name="brand_id" type="int" indexed="false" stored="true"/>
 <field name="group_id" type="int" indexed="true" stored="true"/>
 <field name="group_name" type="string" indexed="true" stored="true"/>
 <field name="has_group" type="boolean" indexed="true" stored="true"/>

因此,正如您所看到的,上面的产品具有“group_id”和“组名”,我的模式中也有名为“has”的布尔标志。

以下是一些产品结果的示例

代码语言:javascript
复制
Product A – group id 1 - group Name 1 – has group true
Product B – group id 1 - group Name 1 – has group true
Product C – group id 2 - group Name 2 – has group true
Product D – group id 2 - group Name 2 – has group true
Product E – has group false
Product F – has group false

但是,当我显示这些结果时,我需要用组名(或I)来显示结果的组名。不属于某一集团的产品将在集团之后立即上市。

所以我的结果应该是:

代码语言:javascript
复制
Group Name 1
Group Name 2
Product E
Product F

实际上,我也需要实现分页,换句话说,如果某个产品包含组名,那么当有人搜索某个产品时,我会将它们列在结果的顶部,然后列出其他产品。

这有可能吗?如果可能的话,我需要做些什么。我已经在solr中读到了关于FieldCollapsing的文章,但是我仍然不知道这是否是正确的方法,http://wiki.apache.org/solr/FieldCollapsing

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-01 21:12:29

是的,如果要对整个索引进行分组,则需要场崩塌特性。SolrNet对此的支持目前已经失效,因为它是Solr中一个未发布的特性,并且自SolrNet中的第一个实现以来发生了很大变化。有关详细信息和更新,请参见http://code.google.com/p/solrnet/issues/detail?id=127

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5849579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档