2011-06-02 71 views
10

我在我的項目中實施了solr搜索。 我有一個問題,關於如何搜索索引索引中創建的動態字段 例如: - 這是索引中形成的標籤Solr search index for dynamic fields indexed

而我試圖從solr中使用此查詢Employee_ * = 172

如果搜索的方式不正確,請在此處幫助我。

回答

15

在您的查詢中,您需要準確定義您要搜索的具體字段,例如Employee_aEmployee_b(或者您使用的任何動態字段)。您無法在查詢中的字段名稱中使用通配符來搜索所有動態字段。

+1

感謝您的答覆 – Selwyn 2011-06-03 09:50:10

7

這裏有一個解決方法:

  • 創建一個(靜態)copyField
  • 動態字段複製到(靜態)copyField
  • 查詢copyField

架構。 xml可能如下所示:

<dynamicField name="Employee_*" type="string" indexed="true" stored="true"/> 
    <field name="emp_static" type="string" indexed="true" stored="true" multiValued="true"/> 
    <copyField source="Employee_*" dest="emp_static"/> 

現在,您可以通過查詢Solr的:

select?q=emp_static:"172" 

你甚至可以調整它,而不是存儲/指數的動態字段(因爲您可能無法在其上查詢...)