0

我有一个名为的字段search_text,它是一个全文搜索字段。

我正在使用 ngrams 来索引这个字段,我想添加一个新的子字段search_text.words来索引整个单词。

我试图实现这一点,但查询search_text.words总是返回 0 个命中。

我正在这样创建它:

  "search_text" => {
      "type" => "string",
      "analyzer" => "ngram",
      "search_analyzer" => "ngram_search",
      "fields" => {
          "words" => {"type" => "string",
                      "analyzer" => "ngram_search"}
      }
  }

我在这里有一个完整的演示:

https://www.dropbox.com/s/wwxm3qe0oxc2z5y/Slimmed%20ElasticSearch%20Text%20%281%29.html?dl=0

4

1 回答 1

1

查看您的保管箱文件,我认为问题在于search_variable在您使用映射类型的批量查询中调用了映射类型test_type

因此映射永远不会被应用。

如果您将批量查询更改为此,它将起作用

bulk_insert_items = items_to_insert.flat_map do |item|
      [
        {index: {_index: 'test_index', _type: 'search_variable'}},
        item
      ]
end
于 2016-03-11T09:07:35.527 回答