簡體   English   中英

如何在Solr的兩個字段中搜索所有術語?

[英]How can I search for all terms across two fields in Solr?

查詢中的所有術語都應出現在字段的組合內容中。 例如,當我搜索術語組合時,如果出現以下情況,應返回文檔:

  • 所有術語都出現在“說明”字段,“元數據”字段或這兩個字段中
  • 或所有術語都分布在兩個字段中(例如,“描述”字段中存在一個術語,而“元數據”字段中存在其余兩個術語)

所以q.op=AND但跨越兩個單獨的字段。 我應該如何編寫查詢?

如果我將索引更改為使用單個多值字段而不是兩個單獨的字段怎么辦,這會使這種情況變得更容易嗎?

是的,您可以使用copyfield將兩個字段組合為一個多值字段。

<copyField source="metadata" dest="metadata_desc" />
<copyField source="descrition" dest="metadata_desc" />

可以使用q=metadata_desc:"some search"&q.op=AND形成查詢

使用q.op ,對所有術語的搜索將是必需的,並且應與要返回的文檔匹配。 默認值為OR

這將有助於在任何一個字段以及整個字段中進行匹配。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM