嵌套对象的术语向量不起作用

时间:2016-11-10 12:44:16

标签: elasticsearch full-text-search

我正在尝试检索包含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个对象的术语向量,但是当我存储它们时它们就会中断。我做错了什么?

1 个答案:

答案 0 :(得分:-1)

这是记录的行为。有关更多详细信息,请参见https://github.com/elastic/elasticsearch/issues/21625