检查 ExternalIndexer returns 空索引
Examine ExternalIndexer returns empty Index
我有一个问题,我的外部索引在重建时拒绝获取任何类型的数据。重建索引时,它会删除索引中的所有条目。
我的内部索引工作得很好,并且包含 Umbraco 中的每个节点。
我认为这可能是一个错误 node/entry,因此备份了整个数据库,然后在隔离环境中我开始删除部分,希望其中一个部分可以解决问题.
现在我已经删除了所有内容,并添加了一个新条目。而且我的外部索引仍然坚持为空。
- 我可以做些什么来进一步解决这个问题?
- 有什么方法可以调试我的 ExternalIndexer,看看是什么引起了麻烦?
- 有人知道问题出在哪里吗?
我使用的是 Umbraco 版本 7.1.8 程序集:1.0.5394.16131
索引器的我的检查设置
<ExamineIndexProviders>
<providers>
<add name="InternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
supportUnpublished="true"
supportProtected="true"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/>
<add name="InternalMemberIndexer" type="UmbracoExamine.UmbracoMemberIndexer, UmbracoExamine"
supportUnpublished="true"
supportProtected="true"
analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
<!-- default external indexer, which excludes protected and unpublished pages-->
<add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
<add name="UserIndexer" type="Sinas.Factories.Search.AutoConfiguredExamineUserIndexer, Sinas.Factories"
analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
</providers>
</ExamineIndexProviders>
ExternalIndexSet 的我的 IndexSet
<!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
<IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
<IndexSet SetName="UserIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/User/">
<IndexUserFields>
<add Name="id" />
<add Name="nodeTypeAlias" />
<add Name="fullName" />
<add Name="firstName" />
<add Name="lastName" />
<add Name="datatitle" />
<add Name="dataemail" />
<add Name="dataphone" />
<add Name="datamobilephone" />
<add Name="dataskype" />
<add Name="_unit" />
<add Name="_unitId" />
<add Name="_unitIdPath" />
<add Name="_tagIds" />
<add Name="_tags" />
<add Name="_workGroupIds" />
<add Name="_workGroups" />
<add Name="_type" />
<add Name="_definitionName" />
<add Name="_definitionNameEmpty" />
<add Name="deleted" />
</IndexUserFields>
</IndexSet>
您应该能够使用 LUKE 检查索引
https://code.google.com/archive/p/luke/
您还需要在索引底部添加文档类型
<IndexSet SetName="UserIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/User/">
<IndexUserFields>
<< Your nodes here >>
</IndexUserFields>
<IncludeNodeTypes>
<add Name="<< Document Type name >>" />
</IncludeNodeTypes>
</IndexSet>
在 IIS 中停止您的网站,删除现有索引并重新启动网站。这应该用数据填充索引
我有一个问题,我的外部索引在重建时拒绝获取任何类型的数据。重建索引时,它会删除索引中的所有条目。 我的内部索引工作得很好,并且包含 Umbraco 中的每个节点。
我认为这可能是一个错误 node/entry,因此备份了整个数据库,然后在隔离环境中我开始删除部分,希望其中一个部分可以解决问题.
现在我已经删除了所有内容,并添加了一个新条目。而且我的外部索引仍然坚持为空。
- 我可以做些什么来进一步解决这个问题?
- 有什么方法可以调试我的 ExternalIndexer,看看是什么引起了麻烦?
- 有人知道问题出在哪里吗?
我使用的是 Umbraco 版本 7.1.8 程序集:1.0.5394.16131
索引器的我的检查设置
<ExamineIndexProviders>
<providers>
<add name="InternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
supportUnpublished="true"
supportProtected="true"
analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/>
<add name="InternalMemberIndexer" type="UmbracoExamine.UmbracoMemberIndexer, UmbracoExamine"
supportUnpublished="true"
supportProtected="true"
analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
<!-- default external indexer, which excludes protected and unpublished pages-->
<add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"
analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
<add name="UserIndexer" type="Sinas.Factories.Search.AutoConfiguredExamineUserIndexer, Sinas.Factories"
analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/>
</providers>
</ExamineIndexProviders>
ExternalIndexSet 的我的 IndexSet
<!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
<IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
<IndexSet SetName="UserIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/User/">
<IndexUserFields>
<add Name="id" />
<add Name="nodeTypeAlias" />
<add Name="fullName" />
<add Name="firstName" />
<add Name="lastName" />
<add Name="datatitle" />
<add Name="dataemail" />
<add Name="dataphone" />
<add Name="datamobilephone" />
<add Name="dataskype" />
<add Name="_unit" />
<add Name="_unitId" />
<add Name="_unitIdPath" />
<add Name="_tagIds" />
<add Name="_tags" />
<add Name="_workGroupIds" />
<add Name="_workGroups" />
<add Name="_type" />
<add Name="_definitionName" />
<add Name="_definitionNameEmpty" />
<add Name="deleted" />
</IndexUserFields>
</IndexSet>
您应该能够使用 LUKE 检查索引 https://code.google.com/archive/p/luke/
您还需要在索引底部添加文档类型
<IndexSet SetName="UserIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/User/">
<IndexUserFields>
<< Your nodes here >>
</IndexUserFields>
<IncludeNodeTypes>
<add Name="<< Document Type name >>" />
</IncludeNodeTypes>
</IndexSet>
在 IIS 中停止您的网站,删除现有索引并重新启动网站。这应该用数据填充索引