gpt4 book ai didi

java - IN Solr 和 Solrj 中的等效查询

转载 作者:行者123 更新时间:2023-11-30 08:14:35 25 4
gpt4 key购买 nike

我正在使用 solr5.0.0。我想知道等效的查询IN 在 solr 或 solrj 中。

如果我需要查询不同品牌的产品,可以使用IN子句。如果我有戴尔、索尼、三星等品牌。我需要使用 Solr 和 Java Solrj 找到这些品牌的产品。

现在我在 Solrj 中使用这段代码

qry.addFilterQuery("brand:dell OR brand:sony OR brand:samsung");

我知道我可以在这里使用 OR,但需要了解 Solr 中的 IN。以及OR的表现。

最佳答案

您可以在 Solr 的 wiki 中读到关于 its' query syntax 的信息, Solr 默认使用 Lucene's Query parser 的超集.正如您在阅读这两个文档时所看到的,不存在类似 IN 的内容。但是您可以比您提供的示例查询更短。

如果您的默认运算符是 OR,您可以将其从查询中删除。此外,您可以使用 Field Grouping .

qry.addFilterQuery("brand:(dell sony samsung)");

如果 OR 不是您的默认运算符或您不确定这一点,您可以为过滤器查询使用本地参数,以便强制执行 OR。之后您可以再次使用字段分组。

qry.addFilterQuery("{!q.op=OR}brand:(dell sony samsung)");

请记住,您需要用 " 将一个短语括起来以将单词放在一起

qry.addFilterQuery("{!q.op=OR}brand:(dell sony samsung \"packard bell\")");

关于java - IN Solr 和 Solrj 中的等效查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29410240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com