2011-05-11 61 views
24

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

sharedTo:"foo" OR sharedTo:"bar" 

对于每个组,我只是添加一个新的OR查询部分。这工作,但我不知道是否有这样做就像一个

sharedTo IN ('foo', 'bar') 

回答

53

如果您的默认运算符是OR的一个更有效的方式,那么你可以给查询作为

sharedTo :('富'‘酒吧’)

如果您的默认运算符是AND,那么你就必须做到这一点是这样的:sharedTo:(FOO或酒吧)

+0

完美的作品。谢谢! – 2011-05-11 21:08:37

+0

您应该在值的内部括号而不是逗号之间使用空格。 – 2012-09-13 10:39:46

+1

感谢@parvin指出。逗号可能取决于分析仪,但空间是一种更合适的方式。 – Umar 2012-09-14 05:02:04