写点什么

教你用 Elastic Search:运行第一条 Hello World 搜索命令 原创

  • 2022 年 2 月 16 日
  • 本文字数:1398 字

    阅读完需:约 5 分钟

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


1.1 用他来做什么?

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


·      分布式实时文档存储、每个字段可以被索引与搜索

·      分布式实时搜索引擎

·      支持上百个节点的扩展,支持 PB 级别的结构化非结构化数据

1.2 怎么来用他?

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

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

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

1.4 安装(Windows)

安装方式:参考


·      先安装 java(安装可执行文件)``

·      再安装 curl(解压)

·      最后安装 elasticsearch(解压)

1.5 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​​错误。参考

1.6 集群

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


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


1.7 使用 ESes 是由 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  }}
复制代码

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

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
教你用Elastic Search:运行第一条Hello World搜索命令 原创