2014-01-24 101 views
11

在我的數據集中,文檔包含20多個嵌套對象的字段。他們大多數是長文本字段。這些字段對於全文搜索很重要,但我們只需要在輸出中顯示標題,簡短描述和標識。我可以在elasticsearch查詢中指定結果字段嗎?

是否可以在ElasticSearch中指定輸出字段以進行全文查詢? (如MongoDB中投影)

回答

15

我認爲你正在尋找一個搜索請求的fields屬性:

允許選擇性地加載特定的字段由搜索命中表示的每個文件 。默認加載內部_source 字段。

{ 
    "fields" : ["user", "postDate"], 
    "query" : { 
     "term" : { "user" : "kimchy" } 
    } 
} 

的字段將自動加載存儲字段(存儲映射設置爲 是),或者,如果沒有存儲,將加載_source並從中 提取它(允許返回嵌套文件對象)。

+0

如何添加一個靜態值'「用戶」:「kimchy」'和一個動態查詢,可用於對字段'「領域的其他搜索「:[」user「,」postDate「,」address「,」description「], – dhpratik

11

小心在ElasticSearch 1.0.0.RC1領域現在返回值總是列出, 如果需要的結果是多頭的,而不是長的列表(這可能是一個值列表中你最的時間),你可以限制那些_source

{"_source" : ["field1", "field2", ...], 
    "query" : { 
     "term" : { "user" : "kimchy" } 
    } 
} 
相關問題