当前位置: 首页 > 面试题库 >

使elasticsearch仅返回某些字段?

越飞鸾
2023-03-14
问题内容

我正在使用Elasticsearch索引我的文档。

是否有可能指示它仅返回特定字段,而不是它存储的整个json文档?


问题答案:

是的
使用源过滤器。如果您使用JSON搜索,它将看起来像这样:

{
    "_source": ["user", "message", ...],
    "query": ...,
    "size": ...
}

在ES 2.4及更低版本中,您还可以在search
API中
使用fields选项:

{
    "fields": ["user", "message", ...],
    "query": ...,
    "size": ...
}

ES 5+中已弃用此功能。而且,源过滤器更强大!



 类似资料:
  • 运行查询后,我从MongoDB返回一个JSON值。问题是我不想返回与我的返回相关的所有JSON,我尝试搜索文档,但没有找到正确的方法。我想知道如果可能的话会怎样,如果可能的话,正确的做法是什么。示例:在数据库中 如果某个字段为用户存在,但不返回另一个字段,那么返回该字段的正确方式是什么。对于上面的示例,我想返回RMS的字段和扎克伯格的字段。这就是我试图找到的字段是否为空,但它似乎不起作用。

  • 在使用以下方法积极创建OpenGL和OpenCL之间的共享上下文后: 然而,当尝试它在东芝笔记本电脑上与英特尔HD Graphics 520在Manjaro操作系统和Beignet OpenCL实现。clCreateFromGLTexture(...)返回CL_INVALID_CONTEXT失败,此外,我尝试了使用Intel SDK和Beignet OpenCl的Ubuntu16.04和Intel

  • 我使用elasticsearch 0.90.2和elasticsearch river mongodb 1.7.0从mongodb的oplog中检索数据。在我试图索引的集合中,我有数千条结构化记录,让我们把它们命名为“field1”、“field2”、“field3”字段10' 有没有办法只索引“field1”和“field2”?这些是字符串还是日期对象有关系吗? 谢啦

  • 问题内容: 我想将查询发送给ELS,该查询仅返回总点击数。 没有别的 就像我得到回应一样 我只想打印731552 现在我只发送: 卷曲http:// server:9200 / games_profilder / _search 谢谢 问题答案: 您可以为此使用响应过滤: 这将产生 如果您真的只想得到总数,则可以使用以下方法传递结果: 那只会产生数字

  • 和onActivityResult 和错误的堆栈跟踪 stack_trace=java.lang.runtimeException:未能将结果ResultInfo{who=null,request=1,result=-1,data=intent{act=inline-data(havs extras)}}传递到活动{com.madhours/com.madhours.activities.acti

  • 问题内容: 我有以下查询: 这将同时返回“匹配”对象(整个文档)和“ inner_hits”对象(嵌套在匹配内部)。 有没有办法让我只返回出现在“ inner_hits”结果中的匹配“查询”元素,而没有获取整个文档? 问题答案: 应该可以通过以下方式 在顶层 禁用source- field 来实现