繁体   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