我的文档包含多值字段“sharedTo”,其中包含文档共享的组。现在,我想查找至少与给定组列表中的一个共享的所有文档。例如。我想查找与组“foo”或组“bar”或两者共享的所有文档。目前我正在构建这样的查询:
sharedTo:"foo" OR sharedTo:"bar"
对于每个组,我只需添加一个新的OR查询部分。这是有效的,但是我想知道是否有一种更有效的方法可以像
这样做sharedTo IN ('foo', 'bar')
答案 0 :(得分:57)
如果您的默认运算符是OR,那么您可以将查询作为
sharedTo :('foo''bar')
如果你的默认运算符是AND,那么你必须这样做: sharedTo :( foo OR bar)
答案 1 :(得分:0)
上述解决方案对我不起作用。但是这个语法确实
column_name:+(value1 value2)
http://harmssite.com/2012/09/solr-query-for-mimicking-sql-in-operator-functionality/
答案 2 :(得分:0)
如果您使用 SolrJ 作为客户端,您的查询将如下所示:
fq=sharedTo:("foo" OR "bar")
希望能帮到你