1

我对 ElasticSearch 很陌生,我已经编写了(更准确地说是生成)一个简单的查询来检索某个用户创建的已保存数据。

查询返回正确的结果,我的问题是结果中缺少idand/or字段。_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返回,但不会与其他字段“在同一个地方”,即不在 中_source,而是更高一级。

于 2013-07-28T18:55:30.920 回答