Syntax 如何在Solr中执行IN查询?

Syntax 如何在Solr中执行IN查询?,syntax,solr,Syntax,Solr,我有一个多值字段“sharedTo”的文档,其中包含文档共享到的组。现在,我想查找共享给给定组列表中至少一个组的所有文档。例如,我想查找共享给组“foo”或组“bar”或两者的所有文档。目前,我正在构建如下查询: sharedTo:"foo" OR sharedTo:"bar" 对于每个组,我只需添加一个新的或查询部分。这是可行的,但是我想知道是否有一种更有效的方法像 sharedTo IN ('foo', 'bar') 如果您的默认运算符为或,那么您只需将查询作为 sharedTo:('f

我有一个多值字段“sharedTo”的文档,其中包含文档共享到的组。现在,我想查找共享给给定组列表中至少一个组的所有文档。例如,我想查找共享给组“foo”或组“bar”或两者的所有文档。目前,我正在构建如下查询:

sharedTo:"foo" OR sharedTo:"bar"
对于每个组,我只需添加一个新的或查询部分。这是可行的,但是我想知道是否有一种更有效的方法像

sharedTo IN ('foo', 'bar')

如果您的默认运算符为或,那么您只需将查询作为

sharedTo:('foo'bar')


如果您的默认运算符是AND,那么您必须这样做:sharedTo:(foo或bar)上述解决方案对我不起作用。但这种语法确实如此

列名称:+(值1值2)


如果您使用SolrJ作为客户端,您的查询如下所示:

fq=sharedTo:("foo" OR "bar")

希望这能有所帮助

有人知道这里的术语数量是有实际限制还是有硬限制吗?(即“foo”和“bar”)