在我的应用程序中,我有一个公司,名称字段为This is a test
,Lucene.Net 正确地对其进行了索引。作为参考, myMultiFieldQueryParser
将其默认运算符设置为QueryParser.Operator.AND
.
当我搜索this test~
and时,我的搜索通过了this tst~
。但是,当我尝试搜索this~ test~
、thas~ test~
、thas test~
和其他变体时,我的搜索失败。
整个目的是允许用户在搜索时拼写错误,因此如果用户搜索Jon Doe
它仍会显示 的结果John Doe
,从而使用户不记得他们在数据库中输入的内容的确切拼写。不幸的是,它似乎只允许对搜索短语中的最后一个词进行模糊搜索。我做错了什么,还是我需要使用整个单独的分析器才能做到这一点?