マルチタームベクターAPI

単一のリクエストで複数のタームベクターを取得します。

Python

  1. resp = client.mtermvectors(
  2. docs=[
  3. {
  4. "_index": "my-index-000001",
  5. "_id": "2",
  6. "term_statistics": True
  7. },
  8. {
  9. "_index": "my-index-000001",
  10. "_id": "1",
  11. "fields": [
  12. "message"
  13. ]
  14. }
  15. ],
  16. )
  17. print(resp)

Ruby

  1. response = client.mtermvectors(
  2. body: {
  3. docs: [
  4. {
  5. _index: 'my-index-000001',
  6. _id: '2',
  7. term_statistics: true
  8. },
  9. {
  10. _index: 'my-index-000001',
  11. _id: '1',
  12. fields: [
  13. 'message'
  14. ]
  15. }
  16. ]
  17. }
  18. )
  19. puts response

Js

  1. const response = await client.mtermvectors({
  2. docs: [
  3. {
  4. _index: "my-index-000001",
  5. _id: "2",
  6. term_statistics: true,
  7. },
  8. {
  9. _index: "my-index-000001",
  10. _id: "1",
  11. fields: ["message"],
  12. },
  13. ],
  14. });
  15. console.log(response);

コンソール

  1. POST /_mtermvectors
  2. {
  3. "docs": [
  4. {
  5. "_index": "my-index-000001",
  6. "_id": "2",
  7. "term_statistics": true
  8. },
  9. {
  10. "_index": "my-index-000001",
  11. "_id": "1",
  12. "fields": [
  13. "message"
  14. ]
  15. }
  16. ]
  17. }

リクエスト

POST /_mtermvectors

POST /<index>/_mtermvectors

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、ターゲットインデックスまたはインデックスエイリアスに対してread インデックス権限を持っている必要があります。

説明

インデックスとIDで既存のドキュメントを指定するか、リクエストのボディに人工ドキュメントを提供できます。リクエストボディまたはリクエストURIでインデックスを指定できます。

レスポンスには、取得したすべてのタームベクターを含むdocs配列が含まれています。各要素は、termvectors APIによって提供される構造を持っています。

レスポンスに含めることができる情報についての詳細は、termvectors APIを参照してください。

パスパラメータ

  • <index>
  • (オプション、文字列)ドキュメントを含むインデックスの名前。

クエリパラメータ

  • fields
  • (オプション、文字列)統計に含めるフィールドのカンマ区切りリストまたはワイルドカード式。
    特定のフィールドリストがcompletion_fieldsまたはfielddata_fieldsパラメータで提供されない限り、デフォルトリストとして使用されます。
  • field_statistics
  • (オプション、ブール値)trueの場合、レスポンスにはドキュメント数、ドキュメント頻度の合計、および総ターム頻度の合計が含まれます。デフォルトはtrueです。
  • <offsets>
  • (オプション、ブール値)trueの場合、レスポンスにはタームオフセットが含まれます。デフォルトはtrueです。
  • payloads
  • (オプション、ブール値)trueの場合、レスポンスにはタームペイロードが含まれます。デフォルトはtrueです。
  • positions
  • (オプション、ブール値)trueの場合、レスポンスにはタームポジションが含まれます。デフォルトはtrueです。
  • preference
  • (オプション、文字列)操作を実行するノードまたはシャードを指定します。デフォルトはランダムです。
  • routing
  • (オプション、文字列)特定のシャードに操作をルーティングするために使用されるカスタム値。
  • realtime
  • (オプション、ブール値)trueの場合、リクエストはリアルタイムであり、近リアルタイムではありません。デフォルトはtrueです。 リアルタイムを参照してください。
  • term_statistics
  • (オプション、ブール値)trueの場合、レスポンスにはターム頻度とドキュメント頻度が含まれます。デフォルトはfalseです。
  • version
  • (オプション、ブール値)trueの場合、ヒットの一部としてドキュメントバージョンを返します。
  • version_type
  • (オプション、列挙型)特定のバージョンタイプ:externalexternal_gte

リクエストURIでインデックスを指定する場合、リクエストボディ内の各ドキュメントに対してインデックスを指定する必要はありません:

Python

  1. resp = client.mtermvectors(
  2. index="my-index-000001",
  3. docs=[
  4. {
  5. "_id": "2",
  6. "fields": [
  7. "message"
  8. ],
  9. "term_statistics": True
  10. },
  11. {
  12. "_id": "1"
  13. }
  14. ],
  15. )
  16. print(resp)

Ruby

  1. response = client.mtermvectors(
  2. index: 'my-index-000001',
  3. body: {
  4. docs: [
  5. {
  6. _id: '2',
  7. fields: [
  8. 'message'
  9. ],
  10. term_statistics: true
  11. },
  12. {
  13. _id: '1'
  14. }
  15. ]
  16. }
  17. )
  18. puts response

Js

  1. const response = await client.mtermvectors({
  2. index: "my-index-000001",
  3. docs: [
  4. {
  5. _id: "2",
  6. fields: ["message"],
  7. term_statistics: true,
  8. },
  9. {
  10. _id: "1",
  11. },
  12. ],
  13. });
  14. console.log(response);

コンソール

  1. POST /my-index-000001/_mtermvectors
  2. {
  3. "docs": [
  4. {
  5. "_id": "2",
  6. "fields": [
  7. "message"
  8. ],
  9. "term_statistics": true
  10. },
  11. {
  12. "_id": "1"
  13. }
  14. ]
  15. }

すべてのリクエストされたドキュメントが同じインデックスにあり、パラメータが同じである場合、次の簡略化された構文を使用できます:

Python

  1. resp = client.mtermvectors(
  2. index="my-index-000001",
  3. ids=[
  4. "1",
  5. "2"
  6. ],
  7. parameters={
  8. "fields": [
  9. "message"
  10. ],
  11. "term_statistics": True
  12. },
  13. )
  14. print(resp)

Ruby

  1. response = client.mtermvectors(
  2. index: 'my-index-000001',
  3. body: {
  4. ids: [
  5. '1',
  6. '2'
  7. ],
  8. parameters: {
  9. fields: [
  10. 'message'
  11. ],
  12. term_statistics: true
  13. }
  14. }
  15. )
  16. puts response

Js

  1. const response = await client.mtermvectors({
  2. index: "my-index-000001",
  3. ids: ["1", "2"],
  4. parameters: {
  5. fields: ["message"],
  6. term_statistics: true,
  7. },
  8. });
  9. console.log(response);

コンソール

  1. POST /my-index-000001/_mtermvectors
  2. {
  3. "ids": [ "1", "2" ],
  4. "parameters": {
  5. "fields": [
  6. "message"
  7. ],
  8. "term_statistics": true
  9. }
  10. }

人工ドキュメント

リクエストのボディに提供された人工ドキュメントのためにタームベクターを生成するためにmtermvectorsを使用することもできます。使用されるマッピングは、指定された_indexによって決まります。

Python

  1. resp = client.mtermvectors(
  2. docs=[
  3. {
  4. "_index": "my-index-000001",
  5. "doc": {
  6. "message": "test test test"
  7. }
  8. },
  9. {
  10. "_index": "my-index-000001",
  11. "doc": {
  12. "message": "Another test ..."
  13. }
  14. }
  15. ],
  16. )
  17. print(resp)

Ruby

  1. response = client.mtermvectors(
  2. body: {
  3. docs: [
  4. {
  5. _index: 'my-index-000001',
  6. doc: {
  7. message: 'test test test'
  8. }
  9. },
  10. {
  11. _index: 'my-index-000001',
  12. doc: {
  13. message: 'Another test ...'
  14. }
  15. }
  16. ]
  17. }
  18. )
  19. puts response

Js

  1. const response = await client.mtermvectors({
  2. docs: [
  3. {
  4. _index: "my-index-000001",
  5. doc: {
  6. message: "test test test",
  7. },
  8. },
  9. {
  10. _index: "my-index-000001",
  11. doc: {
  12. message: "Another test ...",
  13. },
  14. },
  15. ],
  16. });
  17. console.log(response);

コンソール

  1. POST /_mtermvectors
  2. {
  3. "docs": [
  4. {
  5. "_index": "my-index-000001",
  6. "doc" : {
  7. "message" : "test test test"
  8. }
  9. },
  10. {
  11. "_index": "my-index-000001",
  12. "doc" : {
  13. "message" : "Another test ..."
  14. }
  15. }
  16. ]
  17. }