我正在尝试检索包含nested
字段的文档的术语向量。这是我的映射:
PUT /mcve/ex/_mapping
{
"properties": {
"parent": {
"type": "nested",
"properties": {
"value": {"type": "string", "term_vector": "with_positions_offsets", "store": true, "analyzer": "polish"}
}
}
}
}
然后我插入一份文件:
PUT /mcve/ex/ample
{
"parent": {
"value": "ala ma kota"
}
}
并询问术语向量:
GET /mcve/ex/ample/_termvectors
{
"fields": ["parent.value"]
}
响应在term_vectors
字段中包含空对象。我认为也许术语向量在nested
个对象中不起作用,实际上它没有"type": "nested"
。
但是有一个奇怪的事情:如果我不存储术语向量,则上面的查询可以完美地运行。这种映射很好用:
PUT /mcve/ex/_mapping
{
"properties": {
"parent": {
"type": "nested",
"properties": {
"value": {"type": "string", "analyzer": "polish"}
}
}
}
}
显然ES 可以计算nested
个对象的术语向量,但是当我存储它们时它们就会中断。我做错了什么?