【发布时间】:2014-02-06 18:20:50
【问题描述】:
我一直在手动构建 Solr 查询作为字符串并将它们传递给 SolrNet。查询可以是 AND 和 OR 的复杂组合,如下所示:
_query_:"field1:[1 TO 10] OR
field2:[1 TO 10] OR
field3:[1 TO 10]"
AND
_query_:"field4:(keyword)"
AND
_query_:"field5:(keyword)"
这运行良好,但是查看 SolrNet 的 API,我发现我可以为每个子句使用一些对象,然后将这些对象组合在一起以形成完整的查询。我宁愿用这种方法来实现它,也不愿构建和连接字符串。
(我应该提到我正在使用 eDisMax 解析器,它允许我使用上面看到的 _query_ 字段。)
ANDs and ORs 的 API 有很好的文档记录,但我需要将 AND 和 OR 分组以处理上述情况——例如 (a OR b) AND (c OR d)。以前有人用 SolrNet 做过这个吗?谢谢!
更新:我发现了一个我认为将 AND 和 OR 与括号 here 结合在一起的示例。不幸的是,这假设我事先知道查询的结构。相反,我将根据用户输入动态创建 SolrNet 查询,因此我无法对 (a) && (b || c) 之类的模式进行硬编码。
【问题讨论】:
标签: solrnet