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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
5月前
|
安全 Linux 测试技术
在CentOS上安装Elasticsearch和Kibana
在CentOS上安装Elasticsearch和Kibana
176 0
|
10月前
|
关系型数据库 MySQL 应用服务中间件
Nginx、Mysql8、Openjdk11/17安装
Nginx、Mysql8、Openjdk11/17安装
886 12
Nginx、Mysql8、Openjdk11/17安装
|
关系型数据库 MySQL Java
安装Ambari和HDP
安装Ambari和HDP
261 1
|
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安装
247 0
Elasticsearch5.4.0(head/kibana/logstash)安装部署深入详解
|
Ubuntu 关系型数据库 MySQL
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04
In this tutorial, we will explore how to install Docker on Alibaba Cloud and learn some important Docker commands to help you deploy and manage your container services.
3041 0
How to Install and Configure Icinga2 Monitoring Tool on Ubuntu 16.04
centos6安装ElasticSearch5.6.5错误记录
在centos6安装ES的时候遇到不少问题。这里记录日志。以后安装一定要升级centos7,别说啥稳定问题了,该升级就升级。 [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at l...
1338 0
|
Web App开发 安全