1
我是solr的新手。我想搜索數據庫。我可以導入這些值並將其編入索引,但在搜索時似乎必須在搜索查詢中提及字段名稱,可以在不指定字段名稱的情況下完成。索爾數據導入搜索
我是solr的新手。我想搜索數據庫。我可以導入這些值並將其編入索引,但在搜索時似乎必須在搜索查詢中提及字段名稱,可以在不指定字段名稱的情況下完成。索爾數據導入搜索
您可以將所有數據導入到default field。那麼你不需要明確提到字段名稱。 (雖然你仍然可以,如果你想)
默認schema.xml
使用Solr已經包含了使用這種「包羅萬象」的領域的例子:
第一場將被聲明像任何其他領域:
<field name="text" type="text_general" indexed="true"
stored="false" multiValued="true"/>
然後這個新字段必須被聲明爲默認字段。只要沒有特定的字段進行搜索,這將是一個搜索:
<defaultSearchField>text</defaultSearchField>
你還需要一些copyField
報表時複製所有現有油田到包羅萬象的領域:
<copyField source="cat" dest="text"/>
<copyField source="name" dest="text"/>
<copyField source="my_special_field_1" dest="text"/>
<copyField source="my_special_field_2" dest="text"/>
...
所以每當領域my_special_field_1
被索引其值爲也添加到text
字段。
正如你可以複製所有字段到text
場
<copyField source="*" dest="text"/>
之後,你可以不指定任何字段進行搜索的快捷方式。
感謝您的快速響應。我只是想確認,如果我複製所有領域將導致性能問題。我的意思是由於複製域是兩次存儲的值。 – user1025397
它會增加你的索引的大小,但不會增加搜索時間(與明確指出查詢中的所有字段相比)另外,由於'stored'參數爲false,原始數據不會被存儲,所以索引的增加應該適中。 –
再次感謝你。最後但並非最不重要的我有三個不同的表,所有有不同的字段名稱,索引和搜索後,我得到搜索結果列表。從這裏我怎麼能區分不同的表格記錄? – user1025397