在检查搜索 Umbraco 7.6 时忽略大小写

Ignore casing in examine search Umbraco 7.6

我在 Umbraco 7.6 的检查管理器中创建了一个索引器,可以搜索一些项目。我看到这是区分大小写的,我该如何禁用它?

这是我做的:

ExamineSettings.configExamineIndexProviders\provders 标签内:

<add name="ArtsenIndexer" 
     type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" 
     supportUnpublished="false"
     supportProtected="true" 
     indexSet="Artsen"
     analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/>

ExamineSettings.configExamineSearchProviders\provders 标签内:

<add name="ArtsenSearcher" 
     type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" 
     supportUnpublished="false"
     supportProtected="false" 
     indexSet="Artsen" 
     enableLeadingWildcard="true"
     analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/>

ExamineIndex.config:

<IndexSet SetName="Artsen" IndexPath="~/App_Data/TEMP/ExamineIndexes/Artsen/" >
    <IndexAttributeFields>
        <add Name="id" />
        <add Name="nodeName" />
        <add Name="nodeTypeAlias"/>
        <add Name="updateDate"/>
    </IndexAttributeFields>
    <IndexUserFields>
        <add Name="email" />
        <add Name="fax" />
        <add Name="naam"/>
        <add Name="onderzoeken"/>
        <add Name="specialismen"/>
        <add Name="subspecialismen"/>
        <add Name="telefoon"/>
        <add Name="titel"/>
        <add Name="voornaam"/>
        <add Name="website"/>
    </IndexUserFields>
    <IncludeNodeTypes>
        <add Name="arts" />
    </IncludeNodeTypes>
</IndexSet>

我在互联网上搜索了很多变体,但没有找到忽略大小写的结果。

更新:

关于这个 post 我读过这个:

The WhitespaceAnalyzer is a case-sensitive searcher,

所以我必须使用这个:StandardAnalyzer 但没有帮助我。 post中的link坏了...

没错。 WhitespaceAnalyzer 在索引时不会更改数据的大小写,因此它会在需要查找特定的区分大小写的值时完成它的工作。

StandardAnalyzer 在执行索引和搜索时将查询和数据小写化,因此无论查询中出现何种情况它将始终寻找相同的小写版本的术语。

如果您想应用此更改并且它符合您的期望和要求,您需要将分析器值更改为 "Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net":索引器和搜索者。

记得重建索引来预览结果。