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. 建议者Solr过滤器查询
- 4. Solr过滤器查询字符串
- 5. Apache Solr - 或过滤器查询
- 6. Solr过滤器查询和提升
- 7. More_like_this查询与过滤器
- 8. 按查询顺序查询过滤器 - solr
- 9. Solr查询(q)或过滤器查询(fq)
- 10. solr多查询器查询
- 11. SQL查询 - 过滤主键
- 12. Solr过滤器查询 - 字符串与国际
- 13. 更多类似于Solr查询过滤
- 14. Solr的过滤查询参数
- 15. Solr [版本3.6.1]过滤查询问题
- 16. 翻译SQL查询的DbContext查询与过滤子查询
- 17. Case In-Sensitive Solr查询分面和滤波器查询
- 18. SPARQL查询与过滤
- 19. 过滤查询与外键
- 20. 查询过滤
- 21. 查询基于过滤器的查询linq查询
- 22. MySQL查询与可选过滤器
- 23. 与关系的MySQL过滤器查询
- 24. 查询与SDK2.0:或过滤器一起
- 25. 过滤器的MySQL查询
- 26. Django过滤器查询
- 27. ASP.NET LDAP查询过滤器
- 28. Mysql查询过滤器
- 29. MySQL过滤器查询?
- 30. 过滤器查询CURDATE()
因此,如果例如在索引处对“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