2013-08-21 24 views
5

Yuva'yı kullanarak sonuçları ve vurguları başarılı bir şekilde aldım ancak vurguları aramak için iki alanı eklediğimde, yalnızca elasticsearch sorgusunun yapımında sonuncuyu kullanır. Örneğin. AşağıdakiNEST (elasticsearch) Birden çok alanda vurgulama

sadece "Özet" alanından döndürülen vurguları aldığım anlamına gelir. Elasticsearch'ı doğrudan eşdeğer sorguyla sorgularım, her iki alandan öne çıkanları alabilirim. , ör.

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

Bunu Nest ile yapmak mümkün mü? Yanlış bir şey mi yapıyorum?

cevap

8

Vurgulanan her alanın ayrı bir ".OnField" olması gerekir.

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

Başka bir örneğe bakın here.

İlgili konular