1.环境搭建
首先我们要知道,ElasticSearch是一个分布式的全文检索数据库,可以分布式进行搭建,具体如何去搭建,不要将过多精力放在此处,毕竟工作和学习中很少会用到。
2.使用(核心)
ElasticSearch使用简单概括为:Restful风格API,Json格式查询语言。
Restful风格API:
a. 使用合适的 HTTP 方法:根据你想要执行的操作选择适当的 HTTP 方法。下面是一些常见的方法和它们的使用场景:
- GET:用于获取文档或执行简单的查询操作。例如,获取一个文档的详细信息或执行一个简单的统计查询。
- POST:用于索引新文档、执行复杂查询、进行批量操作等。例如,索引一个新文档或执行一个包含聚合的复杂查询。
- PUT:用于更新现有文档。例如,更新文档的某些字段或替换整个文档。
- DELETE:用于删除文档或索引。例如,删除一个文档或整个索引。
b. 构建请求 URL:根据你要执行的操作和目标索引、类型(如果适用)构建请求 URL。URL 的基本格式为:http://<host>:<port>/<index>/<type>/<operation>
。例如,要搜索名为 "products" 的索引中的文档,URL 可能是 http://localhost:9200/products/_search
。
c. 设置请求体(可选):对于一些操作,你可能需要在请求体中传递一些额外的数据,如索引新文档时的文档内容。请求体通常使用 JSON 格式。例如,要索引一个新文档,你可以构建一个包含文档内容的 JSON 对象,并将其放在请求体中。
d. 发送请求:使用你选择的 HTTP 库(如 cURL、Postman、Python 的 Requests 库等)发送构建好的 HTTP 请求,并获取响应。发送请求后,Elasticsearch 将执行相应的操作并返回结果。
Json格式查询语言:
a. 构建查询对象:使用 JSON 格式构建一个查询对象,描述你的搜索条件和期望的结果。查询对象可以包含多个字段,用于定义不同的查询和操作。下面是一些常用的字段:
query
:用于定义查询的条件和方式,如全文搜索、模糊搜索、范围搜索等。filter
:用于定义过滤条件,对查询结果进行筛选。sort
:用于指定结果的排序规则。aggregations
:用于执行数据聚合操作,如计数、求和、分组等。
b. 发送查询请求:将查询对象作为请求体,使用 HTTP POST 方法发送到适当的终端点。终端点通常是 /_search
,用于执行搜索操作。例如,你可以发送一个包含查询对象的 POST 请求到 http://localhost:9200/products/_search
来搜索名为 "products" 的索引中的文档。
c. 解析和处理响应:获取响应
3.总结
ElasticSearch可以把它当作一个提供了Restful风格API的Web服务器,查询语言就是请求参数,如果想快速入门,开始阶段需要多练习API的使用。后续能根据需求快速反应组织的API和查询语言再进入下一步骤ElasticSearch的思想层面的刨析(一般面试中拿高薪必备)