すべてのレコードを返すElasticsearchクエリ


490

Elasticsearchに小さなデータベースがあり、テスト目的ですべてのレコードを元に戻したいと考えています。次の形式のURLを使用しようとしています...

http://localhost:9200/foo/_search?pretty=true&q={'matchAll':{''}}

これを達成するために使用するURLを誰かに教えてもらえますか?


1
...「foo」は、すべてのレコードを表示するインデックスの名前です。
ジョナタン

回答:


744

Lucene構文はサポートされていると思います。

http://localhost:9200/foo/_search?pretty=true&q=*:*

サイズのデフォルトは10なので&size=BIGNUMBER、10を超えるアイテムを取得する必要がある場合もあります。(BIGNUMBERは、データセットよりも大きいと考える数値に等しい)

ただし、elasticsearchのドキュメントで、スキャン検索タイプを使用して、大規模な結果セットを提案しています。

例えば:

curl -XGET 'localhost:9200/foo/_search?search_type=scan&scroll=10m&size=50' -d '
{
    "query" : {
        "match_all" : {}
    }
}'

上記のドキュメントリンクが示すように、リクエストを続けます。

編集:scan2.1.0で非推奨。

scanscroll並べ替えられた通常のリクエストよりもメリットはありません_docエラスティックドキュメントへのリンク(@ christophe-roussyにより検出)


6
ありがとう。これは私が思いついた最後のもので、今必要なものを返します... localhost:9200 / foo / _search?size = 50&pretty = true&q = *:*
John Livermore

2
elasticsearchは、このリンクに理解しているスティーブの答えを@に追加すると、あなたは、パラメータのリストを見つけることができますelasticsearch.org/guide/reference/api/search/uri-request
Karthick

1
あなたの答えをありがとう@Steve。新しい質問に対しては、それが十分に重要であるとは思いませんでした。それはどこにも明示的に述べられていなかったので、確認するためだけにここに尋ねると思いました。
Churro

8
実際にはscan + scroll-requestsを使用する必要があります。size = BIGNUMBERを使用する場合、Luceneはその数のスコアにメモリを割り当てるため、過度に大きくしないでください。:)
Alex Brasetvik 2013年

4
:スキャンは2.1.0で非推奨に廃止されましたelastic.co/guide/en/elasticsearch/reference/current/...
クリストフRoussy

137
http://127.0.0.1:9200/foo/_search/?size=1000&pretty=1
                                   ^

サイズparam注意してください。これにより、表示されるヒットがデフォルト(10)からシャードあたり1000に増加します。

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-from-size.html


10
ただし、(Elasticsearch docsから)留意すべき点の1つとして、from + sizeは、デフォルトで10,000に設定されているindex.max_result_windowインデックス設定を超えることはできません。
user3078523

2
これはすべてではなく1000を返します。user3078523は正しいです。このメソッドには制限がありますmax_result_window
stelios

1
それには最大値があり、さらに(取得するレコードが何千もある場合)その最大値に向かって上昇するのはかなりおかしい重いアプローチです。代わりに、「スクロール」クエリを使用する必要があります。
ハリーウッド

37

elasticsearch(ES)は、ESクラスターインデックスからデータを取得するためのGETまたはPOSTリクエストの両方をサポートします。

GETを実行すると:

http://localhost:9200/[your index name]/_search?size=[no of records you want]&q=*:*

POSTを実行する場合:

http://localhost:9200/[your_index_name]/_search
{
  "size": [your value] //default 10
  "from": [your start index] //default 0
  "query":
   {
    "match_all": {}
   }
}   

私はelasticsearchとUIのプラグインを使用することをお勧めhttp://mobz.github.io/elasticsearch-head/ これはあなたが作成しても、あなたのインデックスをテスト指標のより良い感覚を得るのに役立ちます。


3
別のユーザーとして言及: from+は、size以上のことはできませんindex.max_result_windowインデックスの設定〜10,000デフォルト
ステリオス

このアプローチには最大値があります。また、(取得するレコードが何千もある場合)、その最大値に向かっていくのはかなりおかしいアプローチです。代わりに「スクロール」クエリを使用する必要があります
Harry Wood

奇妙なことに、公式のドキュメントcurl -XGET ... -d '{...}'は、un公式の混合スタイルのリクエストであることを示しています。正しいGETおよびPOST形式を表示していただきありがとうございます。
ジェシーチザム

28

注:答えはElasticsearchの古いバージョンに関するもの0.90です。それ以降にリリースされたバージョンでは、構文が更新されています。あなたが探している最新の答えに対してより正確な答えを提供するかもしれない他の答えを参照してください。

以下のクエリは、返されるNO_OF_RESULTSを返します。

curl -XGET 'localhost:9200/foo/_search?size=NO_OF_RESULTS' -d '
{
"query" : {
    "match_all" : {}
  }
}'

ここでの問題は、すべてのレコードを返して欲しいということです。したがって、当然のことながら、クエリを記述する前は、NO_OF_RESULTSの値はわかりません。

文書に存在するレコードの数をどのようにして知ることができますか?以下のクエリを入力してください

curl -XGET 'localhost:9200/foo/_search' -d '

これにより、以下のような結果が得られます

 {
hits" : {
  "total" :       2357,
  "hits" : [
    {
      ..................

結果の合計は、ドキュメントで使用可能なレコードの数を示します。つまり、これはNO_OF RESULTSの値を知るための良い方法です。

curl -XGET 'localhost:9200/_search' -d ' 

すべてのインデックスのすべてのタイプを検索

curl -XGET 'localhost:9200/foo/_search' -d '

fooインデックスのすべてのタイプを検索

curl -XGET 'localhost:9200/foo1,foo2/_search' -d '

foo1およびfoo2インデックスのすべてのタイプを検索します

curl -XGET 'localhost:9200/f*/_search

fで始まる任意のインデックスのすべてのタイプを検索します

curl -XGET 'localhost:9200/_all/type1,type2/_search' -d '

すべてのインデックスで検索タイプのユーザーとツイート


9
基本クエリにサイズパラメータが含まれていない限り、ESはデフォルトで10件の結果を返します。
lfender6445 2014

以前の回答は3歳でした。現在のものに更新しました。
vjpandian 2015

19

これは私がPythonクライアントを使用して見つけた最高のソリューションです

  # Initialize the scroll
  page = es.search(
  index = 'yourIndex',
  doc_type = 'yourType',
  scroll = '2m',
  search_type = 'scan',
  size = 1000,
  body = {
    # Your query's body
    })
  sid = page['_scroll_id']
  scroll_size = page['hits']['total']

  # Start scrolling
  while (scroll_size > 0):
    print "Scrolling..."
    page = es.scroll(scroll_id = sid, scroll = '2m')
    # Update the scroll ID
    sid = page['_scroll_id']
    # Get the number of results that we returned in the last scroll
    scroll_size = len(page['hits']['hits'])
    print "scroll size: " + str(scroll_size)
    # Do something with the obtained page

https://gist.github.com/drorata/146ce50807d16fd4a6aa

Javaクライアントの使用

import static org.elasticsearch.index.query.QueryBuilders.*;

QueryBuilder qb = termQuery("multi", "test");

SearchResponse scrollResp = client.prepareSearch(test)
        .addSort(FieldSortBuilder.DOC_FIELD_NAME, SortOrder.ASC)
        .setScroll(new TimeValue(60000))
        .setQuery(qb)
        .setSize(100).execute().actionGet(); //100 hits per shard will be returned for each scroll
//Scroll until no hits are returned
do {
    for (SearchHit hit : scrollResp.getHits().getHits()) {
        //Handle the hit...
    }

    scrollResp = client.prepareSearchScroll(scrollResp.getScrollId()).setScroll(new TimeValue(60000)).execute().actionGet();
} while(scrollResp.getHits().getHits().length != 0); // Zero hits mark the end of the scroll and the while loop.

https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-search-scrolling.html


マークありがとう、まさにそれが私が探していたものです!私の場合(ELK 6.2.1、python 3)、search_type引数は無効で、ELK 6.0以降、document_typeは不要になりました
Christoph Schranz

完璧なソリューション!ありがとう。私が使用elasticsearch_dsl==5.4.0していて、それなしで動作しsearch_type = 'scan',ます。
Usman Maqbool 2018年

ES 6.3。この例では、Elasticsearchサービスがクラッシュし、5〜7 size=10000回の反復のどこかで、110kのドキュメントをでスクロールしようとします。でstatus=127main ERROR Null object returned for RollingFile in Appendersmain ERROR Unable to locate appender "rolling" for logger config "root"いいえにログインする/var/log/elasticsearch/elasticsearch.log
ステリオス

記録のために、Pythonのクライアントの実装scan(LEATのバージョン5.XX以降)ボンネットの下にスクロールを行いhelpers`
MCMZL

search_type = 'scan'廃止予定です。同様のコードはそれなしでも機能しますが、古いドキュメントにはよく埋もれている興味深い違いがあります。elastic.co/guide/en/elasticsearch/reference/1.4/… 特に、search_type = scanを使用しないように移行する場合、最初の「検索」クエリには、処理する結果の最初のバッチが含まれます。
ハリーウッド

12

Elasticsearchは、サイズとして大きな数を追加するだけで大幅に遅くなります。すべてのドキュメントを取得するために使用する1つの方法は、スキャンIDとスクロールIDを使用することです。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html

Elasticsearch v7.2では、次のようにします。

POST /foo/_search?scroll=1m
{
    "size": 100,
    "query": {
        "match_all": {}
    }
}

この結果には、次の100チャンクを取得するためにクエリする必要がある_scroll_idが含まれます。

POST /_search/scroll 
{
    "scroll" : "1m", 
    "scroll_id" : "<YOUR SCROLL ID>" 
}

1
この回答にはさらに更新が必要です。search_type=scanは非推奨になりました。したがって、それを削除する必要がありますが、動作が少し変更されました。データの最初のバッチは、最初の検索呼び出しから返されます。あなたが提供するリンクはそれを行う正しい方法を示しています。
ハリーウッド

1
私のコメントは、非常に遅くなるので、サイズとして数を追加することはできないことに本当に注意することでした。そのため、コードの例を削除しました。リンクをクリックすると、正しいコードを取得できます。
WoodyDRN 2018年

1
@WoodyDRN(古くなっても)コードを回答に含めることをお勧めします。これにより、リンクが停止した場合でもコードを使用できます。
Trisped

11

server:9200/_statsすべてのエイリアスに関する統計情報を取得するためにも使用します。エイリアスごとの要素のサイズや数など、これは非常に便利であり、役立つ情報を提供します


2
しかし、私が覚えていることから、ESではリクエストごとに16000データしか取得できません。したがって、データが16000を超える場合、このソリューションでは不十分です。
Aminah Nuraini 2016

10

何千ものレコードをプルしたい場合...数人が「スクロール」を使用する正しい答えを出しました(注:「search_type = scan」の使用を提案する人もいます。これは非推奨で、v5.0では削除されました。あなたはそれを必要としません)

「検索」クエリから始めますが、「スクロール」パラメータを指定します(ここでは1分のタイムアウトを使用しています)。

curl -XGET 'http://ip1:9200/myindex/_search?scroll=1m' -d '
{
    "query": {
            "match_all" : {}
    }
}
'

これには、ヒットの最初の「バッチ」が含まれます。しかし、ここでは完了していません。上記のcurlコマンドの出力は次のようになります。

{ "_scroll_id": "c2Nhbjs1OzUyNjE6NU4tU3BrWi1UWkNIWVNBZW43bXV3Zzs1Mzc3OkhUQ0g3VGllU2FhemJVNlM5d2t0alE7NTI2Mjo1Ti1TcGtaLVRaQ0hZU0FlbjdtdXdnOzUzNzg6SFRDSDdUaWVTYWF6YlU2Uzl3a3RqUTs1MjYzOjVOLVNwa1otVFpDSFlTQWVuN211d2c7MTt0b3RhbF9oaXRzOjIyNjAxMzU3Ow ==" は、 "取った":109、 "TIMED_OUT" 偽 "_破片":{ "合計":5、 "成功":5、 "失敗":0}、 "ヒット" :{"合計":22601357、 "max_score":0.0、 "ヒット":[]}}

次のコマンドを実行する必要があるため、_scroll_idを手元に用意しておくことが重要です。

    curl -XGET  'localhost:9200/_search/scroll'  -d'
    {
        "scroll" : "1m", 
        "scroll_id" : "c2Nhbjs2OzM0NDg1ODpzRlBLc0FXNlNyNm5JWUc1" 
    }
    '

ただし、scroll_idを渡すことは、手動で行うように設計されたものではありません。あなたの最善の策は、それを行うコードを書くことです。例:java:

    private TransportClient client = null;
    private Settings settings = ImmutableSettings.settingsBuilder()
                  .put(CLUSTER_NAME,"cluster-test").build();
    private SearchResponse scrollResp  = null;

    this.client = new TransportClient(settings);
    this.client.addTransportAddress(new InetSocketTransportAddress("ip", port));

    QueryBuilder queryBuilder = QueryBuilders.matchAllQuery();
    scrollResp = client.prepareSearch(index).setSearchType(SearchType.SCAN)
                 .setScroll(new TimeValue(60000))                            
                 .setQuery(queryBuilder)
                 .setSize(100).execute().actionGet();

    scrollResp = client.prepareSearchScroll(scrollResp.getScrollId())
                .setScroll(new TimeValue(timeVal))
                .execute()
                .actionGet();

ここで、最後のコマンドのLOOPはSearchResponseを使用してデータを抽出します。


6

シンプル!あなたは使用することができますsizeし、fromパラメータ!

http://localhost:9200/[your index name]/_search?size=1000&from=0

次に、fromすべてのデータを取得するまで徐々に変更します。


4
データに多くのドキュメントが含まれている場合は、このメソッドを使用しないでください。「次のページ」に移動するたびに、Elasticの速度は遅くなります。代わりにSearchAfterを使用してください
Joshlo 2017

3
また、このソリューションは、全体のデータサイズが10 000を超える場合は機能しません。オプションsize = 1000&from = 10001は失敗します。
iclman 2018

2
確かに失敗します。パラメータfrom+ sizeは、デフォルトで10,000に設定されているindex.max_result_windowインデックス設定を超えることはできません
stelios

1
データに何千ものドキュメントが含まれている場合、正しい答えは「スクロール」クエリを使用することです。
ハリーウッド

fromand sizeアプローチを使用すると、Deep Paginationの問題が発生します。スクロールAPIを使用して、すべてのドキュメントのダンプを作成します。
Daniel Schneiter

5

サイズを調整する最良の方法は、URLの前にsize = numberを使用することです

Curl -XGET "http://localhost:9200/logstash-*/_search?size=50&pretty"

注:このサイズで定義できる最大値は10000です。1万を超える値の場合、パフォーマンスへの影響の可能性を最小限に抑えるスクロール機能を使用することを想定しています。


最大サイズはどのバージョンから発生しますか?
WoodyDRN 2017

それはある程度までは「最善の」方法かもしれませんが、実際には少しうなずきます。何千ものレコードがある場合、最善の方法は「スクロール」クエリです。
ハリーウッド

fromとsize-approachを使用すると、Deep Paginationの問題が発生します。スクロールAPIを使用して、すべてのドキュメントのダンプを作成します。
Daniel Schneiter

5

_countAPIを使用して、sizeパラメーターの値を取得できます。

http://localhost:9200/foo/_count?q=<your query>

を返します{count:X, ...}。値「X」を抽出してから、実際のクエリを実行します。

http://localhost:9200/foo/_search?q=<your query>&size=X

1
このようにサイズをXに設定すると、同時実行の意外な問題が発生する可能性があります。カウントを実行してから次のクエリでサイズを設定するまでの間にレコードが追加されるとどうなるかを考えてください... 、それは間違ったアプローチです。代わりに、「スクロール」クエリを使用する必要があります。
ハリーウッド


4

sizeパラメータは、表示されるヒットをdefault(10)から500に増やします。

http:// localhost:9200 / [indexName] / _search?pretty = true&size = 500&q = *:*

段階的に変更してすべてのデータを取得します。

http:// localhost:9200 / [indexName] / _search?size = 500&from = 0

3

Elasticsearch 6.xの場合

リクエスト: GET /foo/_search?pretty=true

応答:ヒット数->合計で、ドキュメントの数を入力してください

    {
      "took": 1,
      "timed_out": false,
      "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
      },
      "hits": {
        "total": 1001,
        "max_score": 1,
        "hits": [
          {

3

小さなデータセット(例:1Kレコード)の場合は、次のように指定するだけですsize

curl localhost:9200/foo_index/_search?size=1000

試合は、すべてのクエリは、それは暗黙的だとして、必要とされていません。

1Mレコードのような中規模のデータセットがある場合、それをロードするのに十分なメモリがない可能性があるため、スクロールが必要です。

スクロールは、DBのカーソルのようなものです。Elasticsearchでは、どこで中断したかを記憶し、インデックスの同じビューを維持します(つまり、サーチャーが更新で離れることを防ぎ、セグメントがマージするのを防ぎます)ます)。

APIに関しては、最初のリクエストにスクロールパラメータを追加する必要があります。

curl 'localhost:9200/foo_index/_search?size=100&scroll=1m&pretty'

最初のページとスクロールIDが返されます。

{
  "_scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAADEWbmJlSmxjb2hSU0tMZk12aEx2c0EzUQ==",
  "took" : 0,
...

返されるスクロールIDとタイムアウトの両方が次のページで有効であることを忘れないでください。ここでよくある間違いはscroll、1ページ(たとえば100レコード)ではなく、データセット全体(たとえば100万レコード)の処理をカバーする非常に大きなタイムアウト(値)を指定することです。

次のページを取得するには、最後のスクロールIDと、次のページを取得するまでのタイムアウトを入力します。

curl -XPOST -H 'Content-Type: application/json' 'localhost:9200/_search/scroll' -d '{
  "scroll": "1m",
  "scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAADAWbmJlSmxjb2hSU0tMZk12aEx2c0EzUQ=="
}'

エクスポートするものがたくさんある場合(例:1Bドキュメント)、並列化する必要があります。これは、スライスされたスクロールを介して行うことができます。10スレッドでエクスポートしたいとします。最初のスレッドは次のようなリクエストを発行します:

curl -XPOST -H 'Content-Type: application/json' 'localhost:9200/test/_search?scroll=1m&size=100' -d '{
  "slice": {
    "id": 0, 
    "max": 10 
  }
}'

通常のスクロール要求とまったく同じように、最初のページとスクロールIDが返されます。通常のスクロールとまったく同じように消費しますが、データの1/10を取得します。

他のスレッドも同様ですidが、1、2、3 ...



2

デフォルトでは、Elasticsearchは10レコードを返すため、サイズを明示的に指定する必要があります。

希望のレコード数を取得するには、リクエストにサイズを追加します。

http:// {host}:9200 / {index_name} / _search?pretty = true&size =(レコード数)

注:最大ページサイズは、デフォルトで10,000に設定されているindex.max_result_windowインデックス設定を超えることはできません。



2

Pythonパッケージelasticsearch-dslを使用した簡単なソリューション:

from elasticsearch_dsl import Search
from elasticsearch_dsl import connections

connections.create_connection(hosts=['localhost'])

s = Search(index="foo")
response = s.scan()

count = 0
for hit in response:
    # print(hit.to_dict())  # be careful, it will printout every hit in your index
    count += 1

print(count)

https://elasticsearch-dsl.readthedocs.io/en/latest/api.html#elasticsearch_dsl.Search.scanも参照してください


1

サイズを指定することによりelasticSearchによって返される最大結果は10000です

curl -XGET 'localhost:9200/index/type/_search?scroll=1m' -d '
{
   "size":10000,
   "query" : {
   "match_all" : {}
    }
}'

その後、結果を取得するためにScroll APIを使用して_scroll_id値を取得し、この値をscroll_idに配置する必要があります

curl -XGET  'localhost:9200/_search/scroll'  -d'
{
   "scroll" : "1m", 
   "scroll_id" : "" 
}'

スクロールAPIは、最初から最初のリクエストで最初から使用する必要があります。
Daniel Schneiter

1

公式ドキュメントはこの質問に対する答えを提供します!あなたはそれをここで見つけることができます。

{
  "query": { "match_all": {} },
  "size": 1
}

サイズ(1)を見たい結果の数に置き換えるだけです!


質問の作成者は、事前定義された量の結果ではなく、「すべて」の結果を求めていました。ドキュメントへのリンクを投稿することは役立ちますが、ドキュメントにはそれを達成する方法が記載されておらず、回答も記載されていません。
Maarten00

fromとsize-approachを使用すると、Deep Paginationの問題が発生します。スクロールAPIを使用して、すべてのドキュメントのダンプを作成します。
Daniel Schneiter

0

すべてのインデックスからすべてのレコードを返すには、次のようにします。

curl -XGET http://35.195.120.21:9200/_all/_search?size=50&pretty

出力:

  "took" : 866,
  "timed_out" : false,
  "_shards" : {
    "total" : 25,
    "successful" : 25,
    "failed" : 0
  },
  "hits" : {
    "total" : 512034694,
    "max_score" : 1.0,
    "hits" : [ {
      "_index" : "grafana-dash",
      "_type" : "dashboard",
      "_id" : "test",
      "_score" : 1.0,
       ...

0
curl -XGET '{{IP/localhost}}:9200/{{Index name}}/{{type}}/_search?scroll=10m&pretty' -d '{
"query": {
"filtered": {
"query": {
"match_all": {}
}}'

このコードスニペットは問題を解決する可能性がありますが、説明を含めると、投稿の品質を向上させるのに役立ちます。あなたは将来の読者のための質問に答えていることを覚えておいてください、そしてそれらの人々はあなたのコード提案の理由を知らないかもしれません。
Stamos

0

@Akira Sendoh以外はどれも実際にすべてのドキュメントを取得する方法に答えていません。しかし、そのソリューションでも、ログなしでES 6.3サービスがクラッシュします。低レベルのelasticsearch-pyライブラリを使用して私のために働いた唯一のものは、api を使用するスキャンヘルパーを介していたscroll()

from elasticsearch.helpers import scan

doc_generator = scan(
    es_obj,
    query={"query": {"match_all": {}}},
    index="my-index",
)

# use the generator to iterate, dont try to make a list or you will get out of RAM
for doc in doc_generator:
    # use it somehow

ただし、最近のよりクリーンな方法はelasticsearch-dsl、より抽象的でクリーンな呼び出しを提供するライブラリを介したものであるようです例:http : //elasticsearch-dsl.readthedocs.io/en/latest/search_dsl.html#hits


0

それでも誰かが私のようなElasticsearchから取得するすべてのデータをいくつかのユースケースで探しているなら、これが私がやったことです。さらに、すべてのデータは、すべてのインデックスとすべてのドキュメントタイプを意味します。Elasticsearch 6.3を使用しています

curl -X GET "localhost:9200/_search?pretty=true" -H 'Content-Type: application/json' -d'
{
    "query": {
        "match_all": {}
    }
}
'

Elasticsearchリファレンス


0

これは、あなたが望むことを達成するためのクエリです(クエリをよりよく理解するのに役立つため、Kibanaを使用することをお勧めします)。

GET my_index_name/my_type_name/_search
{
   "query":{
      "match_all":{}
   },
   size : 20,
   from : 3
}

すべてのレコードを取得するには、「match_all」クエリを使用する必要があります。

sizeは、取得するレコードの数です(制限の種類)。デフォルトでは、ESは10レコードのみを返します

fromはskipのようなもので、最初の3レコードをスキップします。

正確にすべてのレコードをフェッチしたい場合は、Kibanaからこのクエリをヒットして「size」で使用したら、結果の「total」フィールドの値を使用します。


このクエリの制限は、サイズ+ fromが「index.max_result_window」以下である必要があることです。多数のドキュメント(デフォルトでは10000以上)の場合、このクエリは適用されません。
KarelHusa

0

Elasticsearch 7.5.1の使用

http://${HOST}:9200/${INDEX}/_search?pretty=true&q=*:*&scroll=10m&size=5000

&size = $ {number}で配列のサイズも指定できる場合

インデックスがわからない場合

http://${HOST}:9200/_cat/indices?v

0

kibana consoleとmy_indexをインデックスとして使用して、以下を検索できます。インデックスにインデックスの4つのフィールドのみを返すように要求する場合は、サイズを追加して、インデックスによって返されるドキュメントの数を指定することもできます。ES 7.6以降では、より速く応答するように、フィルターではなく_sourceを使用する必要があります。

GET /address/_search
 {
   "_source": ["streetaddress","city","state","postcode"],
   "size": 100,
   "query":{
   "match_all":{ }
    }   
 }

-5

size = 0を使用すると、すべてのドキュメントの例が返されます

curl -XGET 'localhost:9200/index/type/_search' -d '
{
   size:0,
   "query" : {
   "match_all" : {}
    }
}'

1
これは蓄積された情報を返しますが、ヒット自体は返しません
user732456
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.