2011-02-09 7 views
0

sitecoreのキーワードをsitecore.seachを使用して検索しているうちに、検索キーワードの項目名(見つかった場所)が返されます。アイテムに沿ってフィールド名を取得するオプションはありますか?私が正しくあなたの目標を理解していれば、あなたが右、検索文字列が見つかった正確なフィールド(フィールド名)を知りたい、sitecore項目からフィールド名を取得する

using (IndexSearchContext context = searchIndex.CreateSearchContext()) 
{ 
    SearchHits hits = context.Search(searchString, new SearchContext(SiteRoot)); 
    var results = hits.FetchResults(0, 100); 

    foreach (SearchResult result in results) 
    { 
     try 
     { 
     Item item = result.GetObject<Item>(); 
     if (item != null) 
     { 
      results.AddResultToCategory(result, categoryName); 
     } 
     } 
     ... 
    } 
} 

答えて

1

は、私は次のコードを使用できますか?

この場合、アイテムフィールド(item.Fields)のコレクションを取得し、フィールド値の検索文字列を確認しながら繰り返します。

私が知る限り、Sitecore Searchシェルアプリケーションは、結果を表示するときと同じ方法で動作します。項目はSearchResultから取られ、単純なtext.IndexOf()比較を使用してヒットを検索するだけです。

私はこれを達成するための別の方法について認識していません。

関連する問題