Elasticsearch 查询怎么返回指定的字段值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch 查询怎么返回指定的字段值相关的知识,希望对你有一定的参考价值。

使用 _source 过滤。

http://localhost:9200/_search?_source=name

这样便过滤除了 name 字段。

如果使用 Request Body 的话

GET /_search

    "_source": "name",
    "query" : 
        //...
    

设置为false将会不返回任何 field

GET /_search

   "_source": false,
   "query" : 
       "term" :  "user" : "kimchy" 

_source 还可以支持一些匹配规则,下面的例子来自官方文档:

GET /_search

   "_source": "obj.*",
   "query" : 
       "term" :  "user" : "kimchy" 
   

GET /_search

    "_source": [ "obj1.*", "obj2.*" ],
    "query" :       
        "term" :  "user" : "kimchy" 
    

GET /_search

    "_source": 
        "includes": [ "obj1.*", "obj2.*" ],
        "excludes": [ "*.description" ]
    ,
    "query" : 
        "term" :  "user" : "kimchy" 
    

文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html

参考技术A

$p = array(
'index' => 'my_product',
//'id' => '1240',
'type' =>'product',
'_source' => false, //是否返回全部资源

'fields' => array( // 返回字段
'pro_name',
'pro_editdate'
)
);

请求es接口时制定fields 即可。

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

以上是关于Elasticsearch 查询怎么返回指定的字段值的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch 学习+SpringBoot实战教程

ElasticSearch查询之——Search API

elasticsearch之exists查询

ElasticSearch批量查询

ElasticSearch 字段数据存在,但用term查询搜索不到指定的数据

Elasticsearch聚合查询