词项向量
编辑term_vector
编辑词项向量包含有关 分析 过程生成的词项的信息,包括:
- 词项列表。
- 每个词项的位置(或顺序)。
- 将词项映射到原始字符串中其起点的开始和结束字符偏移量。
- 载荷(如果可用) - 与每个词项位置关联的用户定义的二进制数据。
这些词项向量可以存储,以便可以检索特定文档的词项向量。
term_vector
设置接受以下值:
|
不存储词项向量。(默认) |
|
仅存储字段中的词项。 |
|
存储词项和位置。 |
|
存储词项和字符偏移量。 |
|
存储词项、位置和字符偏移量。 |
|
存储词项、位置和载荷。 |
|
存储词项、位置、偏移量和载荷。 |
快速高亮器需要 with_positions_offsets
。词项向量 API 可以检索存储的任何内容。
设置 with_positions_offsets
将使字段的索引大小加倍。
resp = client.indices.create( index="my-index-000001", mappings={ "properties": { "text": { "type": "text", "term_vector": "with_positions_offsets" } } }, ) print(resp) resp1 = client.index( index="my-index-000001", id="1", document={ "text": "Quick brown fox" }, ) print(resp1) resp2 = client.search( index="my-index-000001", query={ "match": { "text": "brown fox" } }, highlight={ "fields": { "text": {} } }, ) print(resp2)
response = client.indices.create( index: 'my-index-000001', body: { mappings: { properties: { text: { type: 'text', term_vector: 'with_positions_offsets' } } } } ) puts response response = client.index( index: 'my-index-000001', id: 1, body: { text: 'Quick brown fox' } ) puts response response = client.search( index: 'my-index-000001', body: { query: { match: { text: 'brown fox' } }, highlight: { fields: { text: {} } } } ) puts response
const response = await client.indices.create({ index: "my-index-000001", mappings: { properties: { text: { type: "text", term_vector: "with_positions_offsets", }, }, }, }); console.log(response); const response1 = await client.index({ index: "my-index-000001", id: 1, document: { text: "Quick brown fox", }, }); console.log(response1); const response2 = await client.search({ index: "my-index-000001", query: { match: { text: "brown fox", }, }, highlight: { fields: { text: {}, }, }, }); console.log(response2);
PUT my-index-000001 { "mappings": { "properties": { "text": { "type": "text", "term_vector": "with_positions_offsets" } } } } PUT my-index-000001/_doc/1 { "text": "Quick brown fox" } GET my-index-000001/_search { "query": { "match": { "text": "brown fox" } }, "highlight": { "fields": { "text": {} } } }