2013-08-21 7 views
5

Nestを使用して結果とハイライトを正常に取得しましたが、ハイライトを検索する2つのフィールドを含めると、最後にelasticsearchクエリの作成に使用されます。例えばNEST(elasticsearch)複数のフィールドで強調表示

.Query(qry => qry 
    .QueryString(qs => qs 
     .Query(qString) 
    ) 
) 
.Highlight(h => h 
    .PreTags("<b>") 
    .PostTags("</b>") 
    .OnFields(f => f 
     .OnField("Title") 
     .OnField("Summary") 
    ) 
) 

は、「概要」フィールドから返されるハイライトのみを取得することを意味します。私がelasticsearchを同等のクエリで直接クエリすると、両方のフィールドからハイライトを取得できます。例:

{ 
    "query": { 
    "query_string": { 
     "query": "apple" 
    } 
    }, 
    "highlight": { 
    "pre_tags": ["<b>"], 
    "post_tags": ["</b>"], 
    "fields": { 
     "Title": {}, 
     "Summary": {} 
    } 
    } 
} 

これはNestで可能ですか?私は何か間違っているのですか?

答えて

8

各強調表示されたフィールドには、個別の ".OnField"が必要です。

.Highlight(h => h 
    .PreTags("<b>") 
    .PostTags("</b>") 
    .OnFields(
     f => f.OnField("Title"), 
     f => f.OnField("Summary") 
    ) 
) 

hereを参照してください。

関連する問題