如何解决检查索引Lucene中不区分大小写的搜索
是否可以使用Examine Index和Lucene进行不区分大小写的搜索,而无需更改存储的数据? 我要保存带有ID,标题,文本和日期的文章。 我不想将数据索引为小写字母,因为我想从索引中读取数据并按原样显示它。因此,我可以跳过去数据库获取数据的步骤。 保存两次相同的数据,一次保存一次,一次保存为小写,这并不是正确的方法。
有什么建议可以解决这个问题吗?
ExamineIndex.config
<IndexSet SetName="MySearchIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/MySearch/" >
<IndexUserFields>
<add Name="Id" />
<add Name="Title" />
<add Name="Text" />
<add Name="Date" />
</IndexUserFields>
ExamineSettings.config
<add name="MySearchIndexer" type="Examine.LuceneEngine.Providers.SimpleDataIndexer,Examine"
dataService="X.Service.MyIndexerService,X"
indexTypes="CustomData"
runAsync="false"
enableDefaultEventHandler="true"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer,Lucene.Net"/>
<add name="MySearchSearcher" type="UmbracoExamine.UmbracoExamineSearcher,UmbracoExamine"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer,Lucene.Net" enableLeadingWildcard="true" />
解决方法
在lucene
中,分析器不会更改您的数据。它们确定仅如何索引数据。因此,您可以根据需要索引数据(不要在代码中小写数据),并按原样检索值。
作为lucene
中的补充说明,您可以使用具有不同属性的字段(已索引/未索引,已存储/未存储)。因此,您可以添加两次相同的字段:一种用于仅检索(存储且未建立索引),另一种用于搜索(索引为小写但未存储)。检查examine
是否支持这些类型的字段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。