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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
1月前
|
安全 Linux 测试技术
在CentOS上安装Elasticsearch和Kibana
在CentOS上安装Elasticsearch和Kibana
38 0
|
安全 Linux 网络安全
Centos 7 安装系列(10):ElasticSearch 8.6.2
在空白的 Centos 7 系统中,安装部署 ElasticSearch 8.6 ,同时设置开机自启和密码安全策略。
364 1
|
安全 Java Linux
CentOS8 Elasticsearch8.x 安装遇到的问题解决汇总
CentOS8 Elasticsearch8.x 安装遇到的问题解决汇总
573 0
CentOS8 Elasticsearch8.x 安装遇到的问题解决汇总
|
Linux
centos7 - elasticsearch 7.6.2集群
centos7 - elasticsearch 7.6.2集群
113 0
centos7 - elasticsearch 7.6.2集群
|
搜索推荐 Java Linux
CentOS7 安装 ElasticSearch v7.15.1
CentOS7 安装 ElasticSearch v7.15.1
CentOS7 安装 ElasticSearch v7.15.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安装
226 0
Elasticsearch5.4.0(head/kibana/logstash)安装部署深入详解
|
存储 域名解析 网络协议
如何在 CentOS 8 上安装 Elasticsearch
Elasticsearch 是一个开源全文搜索和分析引擎。它支持 RESTful 操作,并且允许你存储,搜索,并且实时分析大量的数据。Elasticsearch是最流行的搜索引擎之一,可为具有复杂搜索要求的应用程序提供动力,例如大型电子商务商店和分析应用程序。本文主要为大家讲解在 CentOS 8 上安装 Elasticsearch。
2789 1
如何在 CentOS 8 上安装 Elasticsearch
|
存储 网络协议 搜索推荐
如何在 CentOS 8 上安装 Elasticsearch
本文最先发表在: https://www.itcoder.tech/posts/how-to-install-elasticsearch-on-centos-8/ Elasticsearch 是一个开源全文搜索和分析引擎。
1617 0
如何在 CentOS 8 上安装  Elasticsearch
centos6安装ElasticSearch5.6.5错误记录
在centos6安装ES的时候遇到不少问题。这里记录日志。以后安装一定要升级centos7,别说啥稳定问题了,该升级就升级。 [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at l...
1320 0
|
Java Linux 开发工具
CentOS7.X安装elasticsearch-5.6.2
CentOS7.X安装elasticsearch-5.6.2
2580 0

热门文章

最新文章