弹性自定义字段类型

时间:2016-02-08 05:45:27

标签: elasticsearch

这与one of my other question in Elastic

有关

我必须在不同的表中索引大约150个字段,并且我希望其中一些字段能够被部分搜索。

我可以做的一件事(如上面问题的答案)是在我想要部分搜索的所有字段中设置分析器和搜索分析器。

但我确信弹性有更好的方法。我可以使用分析器预设定义我自己的字段类型,如'string',并将其设置为需要部分搜索的字段的类型吗?

1 个答案:

答案 0 :(得分:0)

我不确定您是否可以定义自己的类型。但是你可以使用Dynamic Templates来实现某些目标。

使用dynamic Templates之类的:

PUT /my_index
{
  "mappings": {
  "my_type": {
     "dynamic_templates": [
        {
           "analysed_string_template": {
              "match": "*_someText",
              "match_mapping_type": "string",
              "mapping": {
                 "type": "string",
                 "analyzer": "your_analyser"
               }
              }
            }
          ]
        }
      }
     }

这将使您所有以someText结尾的字符串被分析。您可以根据您的要求更改"match"字段。 关于dynamic_templates here

的研究

希望这会有所帮助..