Solr - 如何获取包含 Solr 中该字段内搜索词的每个字段的文档数量?

标签 solr

想象一个像下面这样的索引:

id   partno      name          description
1    1000.001    Apple iPod    iPod by Apple
2    1000.123    Apple iPhone  The iPhone

当用户搜索“Apple”时,将返回两个文档。现在,我希望通过将搜索限制在一个或多个字段中,这些字段中包含包含术语“Apple”的文档,让用户有可能缩小结果的范围。

因此,理想情况下,用户在第一次查询后会在 ui 的过滤器部分看到类似的内容:

Filter by field
name (2)
description (1)



当用户对字段“描述”应用过滤器时,只会返回在字段“描述”中包含术语“Apple”的文档。因此,第二个请求的结果集将仅是 iPod 文档。为此,我会使用类似 ?q=Apple&qf=description 的查询(我正在使用 Extended DisMax Query Parser )

我怎样才能用 Solr 做到这一点?

我已经尝试过分面、分组和突出显示组件,但并没有真正找到一个像样的解决方案。

[更新]
再次说明这一点:这里的主要问题是获取显示“按字段过滤”部分所需的信息。这包括字段的名称和每个字段的命中。使用这些过滤器之一发送第二个请求已经有效。

最佳答案

Solr 只是简单的不这样做。如果您绝对需要它,我会尝试使用多请求解决方案并对其进行基准测试——solr 往往比人们在它面前放置的要快得多,因此几个请求可能没什么大不了的。

关于Solr - 如何获取包含 Solr 中该字段内搜索词的每个字段的文档数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13948718/

相关文章:

solr - 启动 solr 时将 Solr5 超时从 30 秒增加

java - Solr SearchComponent 获取所有文档

java - solr 数据导入处理程序配置中的散列 oracle 密码

solr - 不能在 Solr 3.1 中的多值字段上使用 FieldCache

java - 无法在 Azure Web 应用上运行 Solr

java - Apache solr 配置与 tomcat 6.0

solr - Solr 中的多个 Boost 查询

java - solrj 在特定字段上搜索

java - SOLR 不同查询

mysql - 当 Apache Solr 也使用 schema.xml 时,它如何成为 No-SQL