46
A
回答
48
FilterQuery只存储文档IDS。这使得应用过滤器包含/排除文档的速度非常快。这方面的好例子是根据国家,产品类型,可用性等搜索过滤产品。
正常查询可以执行完全相同的功能,但它有一个非常复杂的评分系统来确定“相关性”。我相信该文档指出评分只在主查询上完成,而不是在过滤器查询上完成。这也应该增加查询速度。
所以,我可以查询:
description:Kohler AND productType:Toilet
或者,我可以查询:
description:Kohler
with a FQ of productType:Toilet
结果将是相同的,但分数会有所不同。另外,如果在productType:Toilet
的整个一天中收到许多不同的查询,FilterQuery将被缓存,从而使整个查询时间更快。
3
fq适用于固定的值列表。如果在q =天窗+立体声上搜索,并且fq = Mustang solr将对q参数进行文本分析,因为q =天窗+立体声和q =立体声+天窗将返回相同的结果集。但是,当通过fq过滤搜索时,没有对fq参数应用分析,并且假设所有返回的文档都将与fq匹配,因此不需要修改匹配的文档的分数。
相关问题
- 1. solr主要查询与fq
- 2. Solr的面查询过滤
- 3. Apache Solr - 或过滤器查询
- 4. Solr查询(q)或过滤器查询(fq)
- 5. solr多查询器查询
- 6. Solr的过滤查询参数
- 7. Case In-Sensitive Solr查询分面和滤波器查询
- 8. 翻译SQL查询的DbContext查询与过滤子查询
- 9. 过滤查询与外键
- 10. SPARQL查询与过滤
- 11. 查询过滤
- 12. 查询基于过滤器的查询linq查询
- 13. 与关系的MySQL过滤器查询
- 14. Solr过滤器查询中多值字段上的布尔查询
- 15. Solr/Lucene:常规查询和过滤器查询之间的区别
- 16. 过滤器cte xpath查询
- 17. 查询中的过滤器
- 18. 像过滤器SQL查询
- 19. MDX过滤器查询
- 20. MySql过滤器查询
- 21. 过滤器的MySQL查询
- 22. Solr的查询 - 书面Solr的查询
- 23. 过滤查询mongoengine
- 24. NDB查询过滤
- 25. 过滤LINQ查询
- 26. Django查询过滤
- 27. SOLR中的过滤器和复杂查询有什么区别?
- 28. 如何复制每个过滤器查询的Solr索引?
- 29. 在查询时使用solr木瓦过滤器
- 30. 如何在solr中创建多个过滤器查询?
因此,如果例如在索引处对“productType”有术语提升,则如果在FilterQuery而不是主Query中设置productType,则可以对结果进行不同的排序,例如如果它位于Query中,那些带有较高的productType分数将位于顶部,而如果它位于FilterQuery中,则具有较高productType分数的那些文档可能位于底部,因为由于分数位于FilterQuery中,所以未应用分数。我理解你吗? – mrd3650 2012-01-05 08:15:55
正确。但是,如果您将productType作为AND子句放在主Query中,则无论如何您都不会返回任何其他productType。所以这可能是有限的价值。但是,你所说的话意味着你明白它是如何工作的。 – rfeak 2012-01-05 15:49:29
是的,你有一个观点,因为我错误地假设productType上有一个FTS(因此可能会返回多个productType,但通常在* Type上没有FTS)。谢谢。 – mrd3650 2012-01-06 09:02:08