1

私はElasticSearchを初めて使用し、特定のユーザーによって作成された保存済みデータを取得するための簡単なクエリを(より正確に生成するために)作成しました。

クエリは正しい結果を返します。私の問題は、idおよび/または_idフィールドが結果にないことです。他のすべてのフィールドは完全に取得され、条件も問題ありません。

˙id˙ フィールドを結果に含める方法を教えてください。クエリは次のとおりです。

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

(クエリをもっと簡単に記述できることはわかっていますが、他の用語が追加されるように設計されています) ユーザー フィールドの定義も単純です。

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

助けてくれてありがとう。これは初歩的な質問かもしれませんが、正しく理解できません。

4

1 に答える 1

0

念のために言っておきますが、_idは他のフィールドのように文書本体の一部ではありません。ドキュメント内で複製しない限り、結果の一部に_idは表示されません。_source

返されますが_id、他のフィールドと「同じ場所」ではなく、_source1 レベル上にあります。

于 2013-07-28T18:55:30.920 に答える