我在 Umbraco 7 应用程序中使用检查搜索。不知何故,在搜索包含连字符的单词时,我没有得到任何结果,例如“标签名称”。
我已将 Examine 设置为对 ExamineSearchProvider 和 ExamineIndexProvider 都使用 WhitespaceAnalyzer。我还删除了临时文件夹中的缓存,但仍然没有结果。我检查了数据库中的值,它们的格式与查询“XXX-xxx”的格式相同。我也试图逃避查询,但这不会改变结果。
这里有什么我没看到的吗?
在检查设置.config 中:
<Examine>
<ExamineIndexProviders>
<providers>
<!-- custom search index provider -->
<add name="MySearchIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
supportUnpublished="false"
supportProtected="true"
interval="10"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"
indexSet="MySearch"/>
</providers>
</ExamineIndexProviders>
<ExamineSearchProviders defaultProvider="MySearchSearcher">
<providers>
<!-- custom search provider -->
<add name="MySearchSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net" indexSet="MySearch" enableLeadingWildcards="true"/>
</providers>
</ExamineSearchProviders>
</Examine>
在ExamineIndex.config 中:
<ExamineLuceneIndexSets>
<IndexSet SetName="MySearch" IndexPath="~/App_Data/TEMP/ExamineIndexes/MySearch/">
<IndexAttributeFields>
<add Name="id" />
<add Name="nodeName"/>
<add Name="updateDate" />
<add Name="writerName" />
<add Name="nodeTypeAlias" />
</IndexAttributeFields>
<IndexUserFields>
<add Name="nodeName" />
<add Name="content"/>
<add Name="tags" />
<add Name="category" />
</IndexUserFields>
<IncludeNodeTypes>
<add Name="article" />
<add Name="note" />
</IncludeNodeTypes>
</IndexSet>
</ExamineLuceneIndexSets>