在检查搜索 Umbraco 7.6 时忽略大小写
Ignore casing in examine search Umbraco 7.6
我在 Umbraco 7.6 的检查管理器中创建了一个索引器,可以搜索一些项目。我看到这是区分大小写的,我该如何禁用它?
这是我做的:
ExamineSettings.config
在 ExamineIndexProviders\provders
标签内:
<add name="ArtsenIndexer"
type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
supportUnpublished="false"
supportProtected="true"
indexSet="Artsen"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/>
ExamineSettings.config
在 ExamineSearchProviders\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":索引器和搜索者。
记得重建索引来预览结果。
我在 Umbraco 7.6 的检查管理器中创建了一个索引器,可以搜索一些项目。我看到这是区分大小写的,我该如何禁用它?
这是我做的:
ExamineSettings.config
在 ExamineIndexProviders\provders
标签内:
<add name="ArtsenIndexer"
type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
supportUnpublished="false"
supportProtected="true"
indexSet="Artsen"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/>
ExamineSettings.config
在 ExamineSearchProviders\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":索引器和搜索者。
记得重建索引来预览结果。