0

私が試してみること

コンテンツ ツリー内には多くの人がいます。そのための新しいインデックスを作成します。これは、特定の人を検索する際の Web アプリケーションのパフォーマンスを向上させるためです。


インデックスを作成する

PersonIndexerすべての人をインデックス化するために、Umbraco 7.7 から名前を付けて、検査マネージャーに新しいインデックスを作成しました。これには、個人のノード タイプのみが含まれます。

Umbraco からマネージャーを調べる

このために、次のコードを作成しました。

ExamineSettings.config

→ →タグ内のファイルExamineSettings.config内:ExamineExamineIndexProvidersproviders

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

そして、同じファイル内にこれも追加しましたが、ExamineExamineSearchProvidersprovidersタグ内に:

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

ExamineIndex.config

タグ内のファイルExamineIndex.config内:ExamineLuceneIndexSets

<IndexSet SetName="Persons" IndexPath="~/App_Data/TEMP/ExamineIndexes/Persons/" >
    <IndexAttributeFields>
        <add Name="knowledge" />
        <add Name="photo" />
        <add Name="name"/>
        <add Name="firstName"/>
        <add Name="lastName"/>
    </IndexAttributeFields>

    <IncludeNodeTypes>
        <add Name="person" />
    </IncludeNodeTypes>
</IndexSet>

書類を入手する

このインデックスを作成すると、インデックス内に 7 つのドキュメントが作成されました。

インデックスの作成後

ビュー内でこのすべてのドキュメントを取得するにはどうすればよいですか。私はこのコードを試しました:

var indexer = ExamineManager.Instance.IndexProviderCollection["PersonsIndexer"];

これにより、そのインデックスのすべてのプロパティが得られます。

インデクサー変数のクイック ウォッチ


質問

これは私が必要とするものではありません。私の質問は次のとおりです。そのインデックスから型付きドキュメントを取得するにはどうすればよいですか?


編集

@Marksの回答の後、私は彼のコードを試しましたが、見ると次のようsearchResultsになりました:

空のリスト

の Lucene 検索を実行すると*、7 件の結果が得られました。

* の Lucene 検索で 7 件の結果が得られます

空の文字列に対してテキスト検索 xor I text xor lucene 検索を実行すると、何も得られません。

4

1 に答える 1