1

再構築時に外部インデックスがあらゆる種類のデータの取得を拒否するという問題があります。インデックスを再構築すると、インデックス内のすべてのエントリが削除されます。私の内部インデックスは問題なく機能し、Umbraco のすべてのノードが含まれています。

ノード/エントリが不良である可能性があると考えたため、データベース全体のバックアップを作成し、隔離された環境でセクションの削除を開始し、セクションの1つが問題を解決することを期待しました.

すべてのコンテンツを削除し、新しいエントリを 1 つ追加しました。それでも、私の外部インデックスは空であることを主張しています。

  • これをさらにトラブルシューティングするにはどうすればよいですか?
  • 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>
4

1 に答える 1

1

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 で Web サイトを停止し、既存のインデックスを削除して、Web サイトを再起動します。これにより、インデックスにデータが入力されます

于 2016-04-26T08:45:50.233 に答える