マルチタームベクターAPI
単一のリクエストで複数のタームベクターを取得します。
Python
resp = client.mtermvectors(
docs=[
{
"_index": "my-index-000001",
"_id": "2",
"term_statistics": True
},
{
"_index": "my-index-000001",
"_id": "1",
"fields": [
"message"
]
}
],
)
print(resp)
Ruby
response = client.mtermvectors(
body: {
docs: [
{
_index: 'my-index-000001',
_id: '2',
term_statistics: true
},
{
_index: 'my-index-000001',
_id: '1',
fields: [
'message'
]
}
]
}
)
puts response
Js
const response = await client.mtermvectors({
docs: [
{
_index: "my-index-000001",
_id: "2",
term_statistics: true,
},
{
_index: "my-index-000001",
_id: "1",
fields: ["message"],
},
],
});
console.log(response);
コンソール
POST /_mtermvectors
{
"docs": [
{
"_index": "my-index-000001",
"_id": "2",
"term_statistics": true
},
{
"_index": "my-index-000001",
"_id": "1",
"fields": [
"message"
]
}
]
}
リクエスト
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
- (オプション、列挙型)特定のバージョンタイプ:
external
、external_gte
。
例
リクエストURIでインデックスを指定する場合、リクエストボディ内の各ドキュメントに対してインデックスを指定する必要はありません:
Python
resp = client.mtermvectors(
index="my-index-000001",
docs=[
{
"_id": "2",
"fields": [
"message"
],
"term_statistics": True
},
{
"_id": "1"
}
],
)
print(resp)
Ruby
response = client.mtermvectors(
index: 'my-index-000001',
body: {
docs: [
{
_id: '2',
fields: [
'message'
],
term_statistics: true
},
{
_id: '1'
}
]
}
)
puts response
Js
const response = await client.mtermvectors({
index: "my-index-000001",
docs: [
{
_id: "2",
fields: ["message"],
term_statistics: true,
},
{
_id: "1",
},
],
});
console.log(response);
コンソール
POST /my-index-000001/_mtermvectors
{
"docs": [
{
"_id": "2",
"fields": [
"message"
],
"term_statistics": true
},
{
"_id": "1"
}
]
}
すべてのリクエストされたドキュメントが同じインデックスにあり、パラメータが同じである場合、次の簡略化された構文を使用できます:
Python
resp = client.mtermvectors(
index="my-index-000001",
ids=[
"1",
"2"
],
parameters={
"fields": [
"message"
],
"term_statistics": True
},
)
print(resp)
Ruby
response = client.mtermvectors(
index: 'my-index-000001',
body: {
ids: [
'1',
'2'
],
parameters: {
fields: [
'message'
],
term_statistics: true
}
}
)
puts response
Js
const response = await client.mtermvectors({
index: "my-index-000001",
ids: ["1", "2"],
parameters: {
fields: ["message"],
term_statistics: true,
},
});
console.log(response);
コンソール
POST /my-index-000001/_mtermvectors
{
"ids": [ "1", "2" ],
"parameters": {
"fields": [
"message"
],
"term_statistics": true
}
}
人工ドキュメント
リクエストのボディに提供された人工ドキュメントのためにタームベクターを生成するためにmtermvectors
を使用することもできます。使用されるマッピングは、指定された_index
によって決まります。
Python
resp = client.mtermvectors(
docs=[
{
"_index": "my-index-000001",
"doc": {
"message": "test test test"
}
},
{
"_index": "my-index-000001",
"doc": {
"message": "Another test ..."
}
}
],
)
print(resp)
Ruby
response = client.mtermvectors(
body: {
docs: [
{
_index: 'my-index-000001',
doc: {
message: 'test test test'
}
},
{
_index: 'my-index-000001',
doc: {
message: 'Another test ...'
}
}
]
}
)
puts response
Js
const response = await client.mtermvectors({
docs: [
{
_index: "my-index-000001",
doc: {
message: "test test test",
},
},
{
_index: "my-index-000001",
doc: {
message: "Another test ...",
},
},
],
});
console.log(response);
コンソール
POST /_mtermvectors
{
"docs": [
{
"_index": "my-index-000001",
"doc" : {
"message" : "test test test"
}
},
{
"_index": "my-index-000001",
"doc" : {
"message" : "Another test ..."
}
}
]
}