2012-03-08 41 views
1

一個Solr的查詢問題就在這裏。Solr的查詢語法像這樣的SQL「IN」條件

例如,組檢查查詢:在Solr中有一個由逗號字段放置的字符串,例如「Group1,Group2,Group3」。我的參數是字符串列表,如「Group3」,「Group4」,「Group5」。 在這種情況下,以「組別1,第2組,第3組」的文件需要檢索,因爲「組3」是包含在現場。

這就像SQL「IN」,但我沒有找到一種方法來查詢這樣的條件。 問題是Solr中不允許通配符作爲第一個查詢。

這個問題的任何解決方案? 非常感謝!

+1

我不知道理解你的問題。什麼是使用,比方說,問題 「Q = {Lucene的!} *:{!Lucene的q.op = OR} * FQ = groupField:(組3組4組5)」 – jpountz 2012-03-08 09:57:42

+0

同意和OP需要做出一定的逗號Solr中的限定字段是標記化或多值的。我個人認爲後一種選擇(多值字符串)更好。 – 2012-03-08 15:54:53

回答

0

你確定你使用的是在你的架構中的列的類型是:

<fieldType name="text_country" class="solr.TextField" positionIncrementGap="100">

,而不是:

<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>

+0

謝謝你的啓發我!我使用空格而不是逗號分隔組。然後查詢'組:Group1或Group2'的作品! – 2012-03-09 02:36:38