一、什么是Elasticsearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
二、ElasticSearch 安装配置使用入门 1、下载elasticsearch 解压到没有汉字的目录下,提示:首先安装JDK 2、运行elasticSearch/bin/elasticsearch.bat 文件,出现如下图所示的响应,表示安装成功。 3、将Elasticsearch注册到window的服务上,不用每次启动Elasticsearch 安装:install 启动:start 停止:stop 卸载:remove 三、CURL命令操作执行REST命令 在 Windows 上,运行elastic-search-dir/bin/elasticsearch.bat 3.1. Windows安装CURL第一步:工具下载: 下载后: 为了方便运行,不出现中文路径,解压后放置到D盘software目录下 第二步:安装 【使用方式一】:在curl.exe目录中使用 解压下载后的压缩文件,通过cmd命令进入到curl.exe所在的目录。 进入到该目录后,执行curl --help测试: 【使用方式二】:放置在system32中 解压下载好的文件,拷贝curl.exe文件到C:\Windows\System32 然后就可以在DOS窗口中任意位置,使用curl命令了。 【使用方式三】:配置环境变量(推荐) 在系统高级环境变量中,配置 CURL_HOME ----- "你的curl目录位置" path ---- 末尾添加 “;%CURL_HOME%;” 这样与上面方式二的效果相同。 可以对 Elasticsearch 发出 CURL 请求,这样很容易从命令行 shell 体验该框架。 Elasticsearch 是无模式的,这意味着它可以接受您提供的任何命令,并处理它以供以后查询。Elasticsearch 中的所有内容都被存储为文档,所以您的第一个练习是存储一个包含博客的文档。首先创建一个索引,它是您的所有文档类型的容器 — 类似于 MySQL 等关系数据库中的数据库。然后,将一个文档插入该索引中,以便可以查询该文档的数据。
3.2 创建一个索引 Elasticsearch 命令的一般格式是:REST VERBHOST:9200/index/doc-type— 其中 REST VERB 是 PUT、GET 或DELETE。(使用 cURL -X 动词前缀来明确指定 HTTP 方法。) 要创建一个索引,可在您的 shell 中运行以下命令: [AppleScript] 纯文本查看 复制代码 curl -XPUT "http://localhost:9200/blog01/"
尽管 Elasticsearch 是无模式的,但它在幕后使用了 Lucene,后者使用了模式。不过 Elasticsearch 为您隐藏了这种复杂性。实际上,您可以将 Elasticsearch 文档类型简单地视为子索引或表名称。但是,如果您愿意,可以指定一个模式,所以您可以将它视为一种模式可选的数据存储。 【查看】
3.3 插入一个文档要在 /blog01 索引下创建一个类型,可插入一个文档。 要将包含 “Deck the Halls” 的文档插入索引中,可运行以下命令(将该命令和本教程的其他 CURL 命令都键入到一行中): [AppleScript] 纯文本查看 复制代码 curl -XPUT "http://localhost:9200/blog01/article/1" -d "{"""id""": """1""", """title""": """Whatiselasticsearch"""}"
前面的命令使用 PUT 动词将一个文档添加到 /article文档类型,并为该文档分配 ID 为1。URL 路径显示为index/doctype/ID(索引/文档类型/ID)。
3.4 查看文档要查看该文档,可使用简单的 GET 命令: [AppleScript] 纯文本查看 复制代码 curl -XGET "http://localhost:9200/blog01/article/1" 3.5 更新文档
如果您认识到title字段写错了,并想将它更改为 Whatislucene 怎么办?可运行以下命令来更新文档: [AppleScript] 纯文本查看 复制代码 curl -XPUT "http://localhost:9200/blog01/article/1" -d "{"""id""": """1""", """title""": """Whatislucene"""}" 因为此命令使用了相同的唯一 ID为1,所以该文档会被更新。
3.6 搜索文档是时候运行一次基本查询了,此查询比您运行来查找 “Get the Halls” 文档的简单 GET 要复杂一些。文档 URL 有一个内置的 _search 端点用于此用途。在标题中找到所有包含单词 lucene 的数据:
[AppleScript] 纯文本查看 复制代码 curl -XGET "http://localhost:9200/blog01/article/_search?q=title:'whatislucene'" 3.7 删除文档
暂时不要删除该文档,知道如何删除它就行了: [AppleScript] 纯文本查看 复制代码 curl -XDELETE "http://localhost:9200/blog01/article/1" 3.8 删除索引暂时不要该索引,知道如何删除它就行了: [AppleScript] 纯文本查看 复制代码 curl -XDELETE "http://localhost:9200/blog01"
|