ElasticSearch5.x几个为什么

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介:

为什么ES6.0要抛弃_all字段?

将所有字段都拷贝到_all显然不太合理,而且就算禁用_all字段,还是有一个bug:

在mappings里禁用_all字段:

"_all": {
    "enabled": false
}

在query_string里,以星号作为查询条件时还是会查到东西:

{
  "query": {
    "query_string": {
      "default_field": "_all",
      "query": "*"
    }
  }
}

但是在match里查询却查不到任何东西:

{
  "query": {
    "match": {
      "_all": "xx"
    }
  }
}

为什么ES的docker容器将9300端口映射出来之后就启动不起来?

以前ES客户的通过transport的方式连接ES,使用的是9300端口,走的是tcp协议。ES5.x开始尝试使用REST的方式连接ES,并且以后可能会放弃transport的方式,所以他们在做ES镜像时有意把9300隐藏掉,限制的比较紧,就算你修改ulimit,在CentOS6.7下也挺难的。

首先你得进入到容器里面把配置文件改了,commit成一个新的镜像,然后在启动的时候加上--ulimit和--ulimit nproc参数。

docker run -d --ulimit nofile=65536:131072 --ulimit nproc=2048:2048 -p 9200:9200 -p 9300:9300 -v /home/esdata:/usr/share/elasticsearch/data es:v5.5.1 -Ehttp.cors.enabled=true -Ehttp.cors.allow-origin=* -Etransport.host=0.0.0.0 -Ediscovery.zen.minimum_master_nodes=1

或者你先不映射9300端口,先让容器跑起来,然后用 docker -cp命令把ES容器里的配置文件拷贝出来,在容器外将配置文件改了,这样就不用commit一个新的镜像了。配置文件elasticsearch.yaml需要修改的地方是:

network.host: x.x.x.x (your index server ip)
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
http.cors.enabled: true
http.cors.allow-origin: "/.*/"

然后再new一个新的容器的时候可以加上-p 9300:9300。 但是即使这样,在有些情况下启动的时候还是会报错,大多数是ulimit的问题,很烦人。在ubuntu下稍微好点。

所以,使用ES docker的时候还是不要试图打开9300端口了,这个9300本来就要废弃了,所以没必要折腾了。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
关系型数据库 MySQL Java
安装Ambari和HDP
安装Ambari和HDP
298 1
|
搜索推荐 安全 前端开发
[工具]Centos7安装ElasticSearch5.5
[工具]Centos7安装ElasticSearch5.5
123 0
|
Java Docker 容器
cannot set to file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-7.4.2.jar“
cannot set to file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-7.4.2.jar“
cannot set to file:/usr/share/elasticsearch/plugins/ik/elasticsearch-analysis-ik-7.4.2.jar“
|
自然语言处理 安全 大数据
基于kylinV10的RPM安装ElasticSearch
作者:陈云亮,系深圳某数据治理厂商,有10余年IT从业经验,在数据仓库,传统数据库和大数据领域有丰富的实战经验。微信公众号:大数据架构之道(practiceofbigdata) 国产操作系统KylinV10上通过RPM安装ES
685 0
基于kylinV10的RPM安装ElasticSearch
|
Linux 开发工具 git
Elasticsearch5.4.0(head/kibana/logstash)安装部署深入详解
1、ES5.4.0安装包下载地址 https://www.elastic.co/downloads/past-releases/elasticsearch-5-4-0 2、Centos6.7 Elasticsearch5.4.0安装
261 0
Elasticsearch5.4.0(head/kibana/logstash)安装部署深入详解
centos6安装ElasticSearch5.6.5错误记录
在centos6安装ES的时候遇到不少问题。这里记录日志。以后安装一定要升级centos7,别说啥稳定问题了,该升级就升级。 [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at l...
1354 0
|
Web App开发 安全
|
索引 Windows 自然语言处理