1. 検索とアイテムのバケット

IndexCrawler (インデックスクローラー)

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

IndexCrawlerは、既存のインデックスを取得し、そのインデックスに対して関数のグループを実行するクローラです。

IndexCrawlerFlatDataCrawler<T>から継承します。つまり、IIndexablesのリストを渡すと、それらを反復処理し、各IIndexableで関数を実行して、インデックスにコミットし直すことができます。

これは、インデックス内のすべてのドキュメントを調べて、すべてのドキュメントの名前に "!!" を追加するという目的の一例です。コードは次のようになります。

var crawler = new IndexCrawler(this.sourceIndexName);
crawler.CrawlFunctions += this.CallMe;
this.DestinationIndex.AddCrawler(crawler);
this.DestinationIndex.Rebuild();
public IEnumerable<IIndexable> CallMe(IProviderSearchContext context)
{
    var list = new List<IIndexable>();
    foreach (var item in context.GetQueryable<InsertDocument>())
    {
        item.Name = item.Name + "!!";
        list.Add(new ObjectIndexable(item, null));
    }
    return list.AsEnumerable();
}
この記事を改善するための提案がある場合は、 お知らせください!