ElasticSearch的自动补全功能以及修改数据的字段类型

自动补全

要实现前缀搜索,字段类型必须为completion

GET movies/_search
{
  "suggest":{
    #自定义名字
    "my_suggest":{
      "prefix":"bea",
      "completion":{
        "field":"title"
      }
    }
  }
}

如何修改数据的字段类型

要实现前缀搜索,字段类型必须为completion,但是原有的数据中字段类型不是completion该怎么办?此时需要修改数据的类型之后,重新导入数据;其实就相当与重新定义一个同名结构一样的索引,但是某些字段类型改为completion,导入数据。

重新定义一个索引

先用GET 索引名/_mapping查出原来索引的结构和类型,修改想要进行前缀搜索的索引类型,
ElasticSearch的自动补全功能以及修改数据的字段类型_第1张图片
将原有的数据删除DELETE 索引名.

重新定义一个索引

PUT 索引名
{
	“mappings”:{
		"properties":{
		
		}
	}
}

重新导入数据

重新导入数据前需要将日志文件删除(文件具体位置查看配置文件),以及logstash目录下的data文件夹里的文件也要清理,然后运行命令。配置文件以及具体操作见此篇博客:Logstash

你可能感兴趣的:(ElastecSearch,elasticsearch)