存储术语向量时,参数"存储"强制性?

时间:2017-08-30 04:24:27

标签: elasticsearch storage token term-vectors

我想存储一个字段的术语向量,但我怀疑在脑海中。在他们说的文件中:

"mappings": {
    "tweet": {
      "properties": {
        "text": {
          "type": "text",
          "term_vector": "with_positions_offsets_payloads",
          "store" : true,
          "analyzer" : "fulltext_analyzer"
         }
      }
    }
  }

将存储术语向量。但术语向量只能通过某个端点访问:

/twitter/tweet/1/_termvectors

将存储的是text字段。那么,如果我想存储我的术语向量而不是字段text,该怎么办?如果我没有指定"store":true,它会存储术语向量吗?我怎样才能确定我的术语向量是否存储而不是动态计算?

2 个答案:

答案 0 :(得分:1)

当您在映射中指定了term_vector时,将存储术语向量(当然除了no之外的任何可能选项)。请参阅term_vector docs - 不包含"store":true的示例映射,文档明确说明将存储术语vector。

答案 1 :(得分:1)

您的问题是关于lucene功能的区别

可能的 https://de.slideshare.net/lucenerevolution/what-is-inaluceneagrandfinal 可以提供帮助:

在查询时不使用字段的存储值。您可以在搜索结果中使用它以及(慢速)突出显示

仅使用倒排索引进行搜索(例如,可以使用position进行短语查询)。

可选的doc值可用于排名