9

我正在使用 SolrMeter 来测试 Apache Solr 搜索引擎。我不清楚 Facet 字段和过滤器查询之间的区别。SolrMeter 教程将此列为 Facet 字段的示例:

content
category
fileExtension

这是过滤器查询的一个例子:

category:animal

category:vegetable
categoty:vegetable price:[0 TO 10] 
categoty:vegetable price:[10 TO *] 

我很难绕过它。有人可以举例说明吗?我可以在不指定构面或过滤器的情况下使用 SolrMeter 吗?

4

2 回答 2

15

构面字段用于获取有关返回文档的统计信息 - 具体而言,对于该字段的每个值,有多少返回文档具有该字段的该值。因此,例如,如果您有 10 个产品匹配“软地毯”的查询,如果您选择“原产地”,则您可能会得到 6 个与“Oklahoma”相关的文档和 4 个与“Texas”相关的文档。方面字段查询将为您提供数字 6 和 4。

另一方面,过滤器查询用于通过添加另一个约束来过滤返回的结果。要记住的是,用于过滤结果的查询不会影响文档的评分或相关性。例如,您可能会在索引中搜索产品,但您只想返回受地理区域或其他限制的结果。

于 2012-07-13T20:13:36.993 回答
2

构面是文档的字段(类型),因此类别是字段。正如 Ansari 所说,构面用于获取统计信息并提供分组功能。category您可以在字段上应用分组以将所有内容显示vegetable为一组。

编辑:关于在特定字段内搜索的部分是错误的。它不会仅在字段内部进行搜索。它应该是“向搜索添加约束”。

执行过滤查询category:vegetablevegetable在该category字段中搜索,而不在文档的其他字段中搜索。它用于仅搜索特定字段而不是每个字段。有时您知道您想要的词只在一个字段中,因此您可以只搜索那个字段。

于 2012-07-13T20:18:31.133 回答