使用Apache SOLR进行高级搜索

时间:2015-04-27 11:44:39

标签: apache solr

我有过滤数据的问题。 我已经有一个包含每个产品大小的数据。

{"product_name":"new jeans","product_size_url":"27"},
{"product_name":"new sporty shoes ","product_size_url":"39"},
{"product_name":"new shoes ","product_size_url":"45"}

如何构建查询以显示包含大小为27,45的数据?

我真的需要这个案子的帮助。 感谢。

1 个答案:

答案 0 :(得分:0)

您已经有一个返回每个产品尺寸的查询?如果您不希望尺码查询影响查询的相关性得分,请使用过滤查询 - fq

  

此参数可用于指定可用于限制可返回的超级文档集的查询,而不会影响分数。它对于加速复杂查询非常有用,因为使用fq指定的查询是独立于主查询缓存的

https://wiki.apache.org/solr/CommonQueryParameters#fq

所以你会这样查询

q=product_name:new&fq=product_size_url:(27 OR 45)

这会在名称中找到所有带有 new 字样的产品,然后通过应用过滤查询product_size_url:(27 OR 45)

来限制超级套装