2

Sitecore ベースの Web サイトの検索サイトをプログラミングしています。ここまで来ることができました。

 var query = SearchContext.GetQueryable<MySearchResultItem>().Where(i =>        
                       i.ItemContent.Contains(this._View.SearchTerm)).ToArray();

MySearchResultsItem は次のように定義されています。

public class MySearchResultItem
{
    // Will match the _name field in the index
    [IndexField("_name")]
    public string Name
    {
        get;
        set;
    }

    [IndexField(Sitecore.ContentSearch.BuiltinFields.Content)]
    public string ItemContent
    {
        get;
        set;
    }

}

で検索すると

[IndexField("_name")]

、私は正しい結果を得ています。でも、全項目の項目を検索したいのですが、 で可能だと思います
[IndexField(Sitecore.ContentSearch.BuiltinFields.Content)]

私は何を間違っていますか?すべてのコンテンツをクエリするには、どの IndexField を使用すればよいですか?

ありがとう

4

1 に答える 1

0

Sitecore.ContentSearch.BuiltinFields.Contentインデックスのフィールドには、メディア ライブラリのバイナリ ファイルのコンテンツのみが含まれます。構成を見ると、それが参照していますSitecore.ContentSearch.ComputedFields.MediaItemContentExtractor

すべてのフィールドを検索するには、検索対象のすべてのフィールドを集約したカスタムを追加するIComputedIndexField<fields hint="raw:AddComputedIndexField">、検索対象のすべてのフィールドを linq クエリに含める必要があります。

于 2013-06-20T20:28:25.423 に答える