[英]Solr Field does not return results
Solr不會返回結果,直到我給:field名稱加上前綴,例如,我正在搜索Ajay,我需要給name:Ajay加上前綴才能得到結果。我嘗試了copy標記。但是它似乎沒有返回結果。您請告訴我,除了以下更改之外,我還能更改什么。
<copyField source="name" dest="text"/>
<copyField source="last_name" dest="text"/>
配置此文件的舊方法是使用schema.xml中的<defaultSearchField>
。 如果查詢中沒有其他字段,則表示默認搜索的字段。
您可能要在查詢中使用df
參數(或如其他答案所述,將其添加為默認值),或者如果您正在使用(e)dismax處理程序(可能是),請使用qf
參數以指示要查詢的字段以及不同字段之間的權重。
q=Ajay&qf=text&defType=edismax
..應該做你想做的。
如果查看solrconfig.xml
文件,您將看到/ select requestHandler
配置有默認搜索字段,如下所示:
<lst name="defaults">
<str name="df">aField</str>
</lst>
在這里,您可以輸入所需的字段,例如:
<lst name="defaults">
<str name="df">name</str>
</lst>
要構建可搜索字段,請在您的schema.xml
中創建一個新字段:
<field name="searchable_field" type="text_general" indexed="true" stored="true" multiValued="true" />
之后,您可以在新字段中復制所需的字段:
<copyField source="name" dest="searchable_field"/>
<copyField source="last_name" dest="searchable_field"/>
<copyField source="birthday" dest="searchable_field"/>
<copyField source="location" dest="searchable_field"/>
最后,只需要將這個新字段放入solrconfig.xml
:
<lst name="defaults">
<str name="df">searchable_field</str>
</lst>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.