簡體   English   中英

如何在Lucene.NET中查詢字段的一部分

[英]How to query part of a field in Lucene.NET

假設我有一個包含用戶集合的索引,並將其全名存儲在“名稱”字段中。 這些用戶中有一些的格式為“姓氏的姓氏”,而有些則是“姓氏的姓氏”

例如

  1. 喬·博格斯
  2. 喬·弗雷德·博格斯
  3. 喬·約翰·保羅·博格斯

如果我搜索“ Joe Bloggs”,則需要它返回上面列出的所有用戶。

我嘗試使用PhraseQuery,但這只會返回“ Joe Bloggs”(我猜是由於術語需要正確的順序)。

我是使用WildcardQuery的唯一選擇嗎? 我不希望返回“ Joe Smith”或“ John Bloggs”。 另外,我無法重新整理索引以將全名拆分為單獨的字段。

如何最好地構成我的查詢以使事情按要求工作?

謝謝

  1. 請注意使用哪種分析儀。

您可能只希望“空格”在ws處打斷單詞。 加“小寫”,以便“弗雷德”匹配“弗雷德”

  1. 您的查詢應該只是“ name:joe AND name:bloggs”(如果您是手動構造查詢對象,則應該是等效名稱)

這表示名稱字段必須包含兩個詞

暫無
暫無

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

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