想象一下如下的索引:
id partno name description
1 1000.001 Apple iPod iPod by Apple
2 1000.123 Apple iPhone The iPhone
Run Code Online (Sandbox Code Playgroud)
当用户搜索"Apple"时,将返回两个文档.现在,我想通过将搜索范围限制为在这些字段中包含含有术语"Apple"的文档的一个或多个字段,让用户可以缩小结果范围.
因此,理想情况下,用户在第一次查询后会在ui的过滤器部分看到类似的内容:
当用户对字段"description"应用过滤器时,仅返回字段"description"中包含术语"Apple"的文档.因此,第二个请求的结果集只是iPod文档.为此我会使用一个查询?q=Apple&qf=description(我正在使用Extended DisMax Query Parser)
我怎样才能用Solr实现这一目标?
我已经尝试过分面,分组和突出显示组件,但并没有真正找到一个合适的解决方案.
[更新]
只是为了再次说清楚:这里的主要问题是获取显示"按字段过滤"部分所需的信息.这包括字段的名称和每个字段的命中.使用其中一个过滤器发送第二个请求已经有效.
Solr 只是简单地不这样做。如果您绝对需要它,我会尝试使用多个请求解决方案并对其进行基准测试 - solr 往往比人们放在它前面的速度快得多,因此几个请求可能没什么大不了的。
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |