摘要:Elastic Search可实时对数据库进行全文检索、处理同义词。从同样的数据中生成分析和聚合数据。

本文分享自华为云社区《Elastic Search入门(一): 简介,安装,运行第一条Hello World搜索命令》,作者:黄辣鸡 。

用他来做什么?

实时对数据库进行全文检索、处理同义词。从同样的数据中生成分析和聚合数据。

  • 分布式实时文档存储、每个字段可以被索引与搜索
  • 分布式实时搜索引擎
  • 支持上百个节点的扩展,支持PB级别的结构化非结构化数据

怎么来用他?

Elasticsearch 会将所有的功能打包成为一个单独的服务,这样你可以通过程序和它提供的简单的Restful API进行通信。

为什么他会被叫做弹性搜索

因为搜索结果会有一个相关性评分,并且会根据这个相关性进行排序,因此这个跟传统数据库的要么匹配要么不匹配的模式不同。

安装(Windows)

安装方式:参考

  • 先安装java(安装可执行文件)``
  • 再安装curl(解压)
  • 最后安装elasticsearch(解压)

Hello World

进入es的bin目录后,运行elasticsearch的bat文件。
重新打开cmd终端,运行:

curl "http://localhost:9200/?pretty"

获得响应:

{
"name" : "HZA191152032-C",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "ajY4l-0zTGWhcXDXcGTyMA",
"version" : {
"number" : "7.12.0",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
"build_date" : "2021-03-18T06:17:15.410153305Z",
"build_snapshot" : false,
"lucene_version" : "8.8.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

这意味着一个es节点已经启动,并收到了第一个响应。

直接在浏览器中输入http://localhost:9201 也能收到如上响应。

上面的curl命令后面的url应该用双引号,否则会报curl: (1) Protocol "'http" not supported or disabled in libcurl错误。参考

集群

集群是一组拥有相同cluster.name的节点,支持共享数据,有可伸缩性。

可以在elasticsearch.yml配置文件中修改cluster.name,重启服务后生效。

使用ES

es是由java写的工具,因此可以直接使用es内置的java客户端调用,通过9300端口和es原生的协议和集群交互。集群中的节点通过端口9300彼此通信。

其他语言例如js/php/python都可以通过RESTful API来调用ES。

调用命令如下:

curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'

被 < > 标记的部件:

例如:

curl -XGET 'http://localhost:9200/_count?pretty' -d '
{
"query": {
"match_all": {}
}
}
'

如果在windows下面调用会出现两个小issues,一个是像上面直接curl是会报406错误,因为es6之后有调整需要给curl请求加上-H;另一个是windows不支持单引号,因此全部使用
双引号,并且json body体里面的双引号需要加上斜杠转义.
参考1 参考2

windows上面调用:

curl -H "Content-Type: application/json" -XGET "http://localhost:9200/_count?pretty" -d {\"query\":{\"match_all\":{}}}
得到响应: {
"count" : 35,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
}
}

点击关注,第一时间了解华为云新鲜技术~

教你用Elastic Search:运行第一条Hello World搜索命令的更多相关文章

  1. Elastic Search 小调研

    一.概况: Elastic Search 是一个基于Apache Lucene™工具包的开源搜索引擎.无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库 ...

  2. Solutions:如何运用Elastic App Search快速建立出色的React搜索体验

    建立搜索体验是一项艰苦的工作. 乍一看似乎很容易:建立一个搜索栏,将数据放入数据库,然后让用户输入对该数据库的查询. 但是,在数据建模,底层逻辑以及(当然)总体设计和用户体验方面,有很多事情要考虑. ...

  3. 分库分表后跨分片查询与Elastic Search

    携程酒店订单Elastic Search实战:http://www.lvesu.com/blog/main/cms-610.html 为什么分库分表后不建议跨分片查询:https://www.jian ...

  4. Activity工作流(2)-入门安装运行第一个例子

    转: Activity工作流(2)-入门安装运行第一个例子 置顶 2017年05月24日 15:58:50 li_ch_ch 阅读数:24432   版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  5. elastic search使用

    elastic使用 使用python时注意保持一个好习惯:不要使用类似str.type这样的变量名,很容易引发错误: https://blog.csdn.net/lifelegendc/article ...

  6. SQL数据同步到ELK(二)- Elastic Search 安装

    开篇废话 没错,前面扯了一堆SQL SERVER,其实我连Elastic Search根本没动手玩过(是不是与时代有点脱节了?),那今天我就准备尝试安装一个ELK的简单集群出来(这个集群是使用我的小米 ...

  7. Elastic search集群新增节点(同一个集群,同一台物理机,基于ES 7.4)

    一开始,在电脑上同一个集群新增节点(node)怎么试也不成功,官网guide又语焉不详?集群健康值yellow(表示主分片全部可用,部分复制分片不可用) 最后,在stackoverflow上找到了答案 ...

  8. Elastic Search快速上手(2):将数据存入ES

    前言 在上手使用前,需要先了解一些基本的概念. 推荐 可以到 https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.htm ...

  9. ansible基础☞第一条命令

    我的两个测试机: 系统: ubuntu 16.04.2 ansible-master: 192.168.0.107 ansible-slave: 192.168.0.108 ansible版本: ro ...

随机推荐

  1. linux(CentOS7) 之 MySQL 5.7.30 下载及安装

    一.下载 1.百度搜索mysql,进入官网(或直接进入官网https://www.mysql.com) 2.选择 downloads 3.翻到最下面,选择MySQL Community (GPL) D ...

  2. [ bootstrap ] 图片内容占用padding的范围,如何解决?

    问题描述: 从效果图看到,图片内容占据了padding的范围,怎么解决呢? html代码 <div class="container"> <div class=& ...

  3. spring security 动态 修改当前登录用户的 权限

    1.前言 spring security 可以获取当前登录的用户信息,同时提供了接口 来修改权限列表信息 , 使用这个方法 ,可以动态的修改当前登录用户权限. 那么问题来了... 如果我是管理员 ,如 ...

  4. 论文解读DEC《Unsupervised Deep Embedding for Clustering Analysis》

    Junyuan Xie, Ross B. Girshick, Ali Farhadi2015, ICML1243 Citations, 45 ReferencesCode:DownloadPaper: ...

  5. IntelliJ IDEA最新破解方法

    IntelliJ IDEA最新破解方法 首先说下,本人使用idea版本是2021.2.3. 一.下载IDEA(推荐从官网下载) 官网地址:https://www.jetbrains.com/idea/ ...

  6. 【PTA】6-1 计算两个复数之积 (10 分)

    本题要求实现一个计算复数之积的简单函数. 函数接口定义: struct complex multiply(struct complex x, struct complex y); 其中struct c ...

  7. scanf报错问题

    VS2013 scanf()函数报错问题. 编译器就是说这个环境下用scanf()函数不安全,建议使用scanf_s()函数.如何要使用scanf()函数的话,就需要在头文件或者源文件开头加上:use ...

  8. .NET 云原生架构师训练营(KestrelServer源码分析)--学习笔记

    目录 目标 源码 目标 理解 KestrelServer 如何接收网络请求,网络请求如何转换成 http request context(C# 可识别) 源码 https://github.com/d ...

  9. 【刷题-LeetCode】152 Maximum Product Subarray

    Maximum Product Subarray Given an integer array nums, find the contiguous subarray within an array ( ...

  10. Elasticsearch使用系列-ES简介和环境搭建

    一.简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java语言开发的,并 ...