2013-07-18 78 views
1


我怎麼能搜索裏面多值字段
我的數據是這樣的
篩選多值字段在Solr的

<str name="Key">8</str> 
     <arr name="city"> 
      <str>Achabal (NAC)</str> 
      <str>Addi Gam</str> 
      <str>Adeh Hall</str> 
      <str>Aho Paisan</str> 
      <str>Akin Gam</str> 
      <str>Akura</str> 
      ....... 
     </arr> 
     <str name="state">Chandigarh</str> 

我想裏面的城市搜索的陣列提起我試圖查詢如下

q=city:*Ak* AND state:Chandigarh <br> 

但不工作
上面提到的數據是單個文檔

回答

0

您不應在查詢中使用&,而應使用+或%20(空格)。 &分隔URL查詢參數和狀態的東西將不會作爲q值傳遞。

嘗試q=city:*Ak*+state:Chandigarhq=city:*Ak* state:Chandigarh

你也可能會喜歡什麼做的是這裏使用過濾器的查詢,而不是查詢參數: q=city*Ak*&fq=state:Chandigarh

這將與「阿克」所有城市和限制結果查詢只對那些符合國家=「昌迪加爾」

+0

鏈接感謝,但都試過,你在任何情況下上面提到的它是從城市返回的所有值特定狀態 – Siva

+0

是所有選項你使用N-gram過濾器?如果是的話,solr將忽略狀態:Chandigarh寧可使用狀態:15,即15作爲狀態ID,假設您可以從db查找中獲得狀態ID。當我激活N-gram過濾器時,solr會消除我的非整數字段。通過調試查詢看到 - 祝你好運。 –