2013-07-26 96 views
1

我對ElasticSearch相當陌生,而且我編寫了一個簡單的查詢來檢索由某個用戶創建的已保存數據。Elasticsearch查詢不會返回id(但是所有其他數據)

查詢返回正確的結果,我的問題是結果中缺少id和/或_id字段。所有其他領域都可以過分檢索,條件也不錯。

你可以建議我,如何將˙id˙字段包含在結果中? 下面是該查詢:

{ 
    'filter': { 
    'limit': {'value': 100} 
    }, 
    'query': { 
    'bool': { 
     'should': [ 
     {'term': {'user': 'acct:[email protected]:5000'}} 
     ], 
     'minimum_number_should_match': 1 
    } 
    } 
} 

(我知道我可以編寫查詢簡單,但它的設計,其他條款將被添加到它) 用戶字段的定義也很簡單:

'user': {'type': 'string', 'index': 'not_analyzed'} 

感謝您的幫助。我知道這可能是一個新手問題,但我無法做到。

+1

'id'應該總是出現在結果中。您可以使用運行此查詢時返回的響應嗎? – mguillermin

+0

爲了確保您知道,'_id'不像其他字段那樣是文檔正文的一部分。除非在文檔中複製'_id',否則不會在結果的_source'部分中看到它。 – ramseykhalaf

+0

您將會得到'_id',但不會與其他字段「不在同一位置」,而不在'_source'中。 – ramseykhalaf

回答

0

爲了確保您知道,_id不像其他字段那樣是文檔正文的一部分。除非您在文檔中複製_id,否則在結果的_source部分不會看到它。

您將得到_id返回,但與其他字段不在「相同的地方」,這不在_source,它是一個更高的級別。

相關問題