用語列挙 API

用語列挙 API は、部分文字列に一致するインデックス内の用語を発見するために使用できます。サポートされているフィールドタイプは keywordconstant_keywordflattenedversion および ip です。これはオートコンプリートに使用されます:

Python

  1. resp = client.terms_enum(
  2. index="stackoverflow",
  3. field="tags",
  4. string="kiba",
  5. )
  6. print(resp)

Ruby

  1. response = client.terms_enum(
  2. index: 'stackoverflow',
  3. body: {
  4. field: 'tags',
  5. string: 'kiba'
  6. }
  7. )
  8. puts response

Js

  1. const response = await client.termsEnum({
  2. index: "stackoverflow",
  3. field: "tags",
  4. string: "kiba",
  5. });
  6. console.log(response);

コンソール

  1. POST stackoverflow/_terms_enum
  2. {
  3. "field" : "tags",
  4. "string" : "kiba"
  5. }

API は次の応答を返します:

コンソール-結果

  1. {
  2. "_shards": {
  3. "total": 1,
  4. "successful": 1,
  5. "failed": 0
  6. },
  7. "terms": [
  8. "kibana"
  9. ],
  10. "complete" : true
  11. }

もし complete フラグが false の場合、返される terms セットは不完全である可能性があり、近似値として扱うべきです。これは、リクエストのタイムアウトやノードエラーなど、いくつかの理由で発生する可能性があります。

用語列挙 API は削除されたドキュメントから用語を返すことがあります。削除されたドキュメントは最初に削除されたとしてマークされるだけです。セグメントが マージされる まで、ドキュメントは実際には削除されません。それが起こるまで、用語列挙 API はこれらのドキュメントから用語を返します。

リクエスト

GET /<target>/_terms_enum

説明

用語列挙 API は、提供された文字列で始まるインデックス内の用語を発見するために使用できます。これは、オートコンプリートシナリオで使用される低遅延の検索に設計されています。

パスパラメータ

  • <target>
  • (必須、文字列) 検索するデータストリーム、インデックス、およびエイリアスのカンマ区切りリスト。ワイルドカードをサポートしています (*)。すべてのデータストリームまたはインデックスを検索するには、このパラメータを省略するか、* または _all を使用します。

リクエストボディ

  • field
  • (必須、文字列) 一致させるフィールド

  • string
  • (オプション、文字列) インデックスされた用語の先頭で一致させる文字列。提供されない場合、フィールド内のすべての用語が考慮されます。

接頭辞文字列は、Lucene の用語バイト長制限である 32766 より大きくすることはできません。

  • size
  • (オプション、整数) 一致する用語をいくつ返すか。デフォルトは 10

  • timeout
  • (オプション、時間値) 結果を収集するのにかける最大時間。デフォルトは「1s」(1秒)です。タイムアウトが超過した場合、complete フラグは応答で false に設定され、結果は部分的または空である可能性があります。

  • case_insensitive
  • (オプション、ブール値) true の場合、提供された検索文字列はインデックス用語に対して大文字と小文字を区別せずに一致します。デフォルトは false です。

  • index_filter
  • (オプション、クエリオブジェクト 提供されたクエリが match_none に書き換えられる場合、インデックスシャードをフィルタリングできます。

  • search_after
  • (オプション、文字列) インデックス内の用語が返されるべき文字列。前のリクエストの最後の結果が次のリクエストの search_after パラメータとして渡される場合、ページネーションの形式を許可します。