【发布时间】:2012-12-19 09:01:16
【问题描述】:
想象一个像下面这样的索引:
id partno name description
1 1000.001 Apple iPod iPod by Apple
2 1000.123 Apple iPhone The iPhone
当用户搜索“Apple”时,两个文档都会返回。现在,我想通过将搜索限制在一个或多个字段中包含包含“Apple”一词的文档的字段,让用户可以缩小结果范围。
因此,理想情况下,用户在第一次查询后会在 ui 的过滤器部分看到类似的内容:
按字段过滤
name (2)
description (1)
当用户对“description”字段应用过滤器时,只会返回“description”字段中包含“Apple”一词的文档。所以第二个请求的结果集将只是 iPod 文档。为此,我会使用?q=Apple&qf=description 之类的查询(我使用的是Extended DisMax Query Parser)
我如何使用 Solr 实现这一点?
我已经尝试过分面、分组和突出显示组件,但并没有真正找到合适的解决方案。
[更新]
再次说明这一点:这里的主要问题是获取显示“按字段过滤”部分所需的信息。这包括字段的名称和每个字段的命中。发送应用了其中一个过滤器的第二个请求已经可以了。
【问题讨论】:
标签: solr