首先我们要知道elasticsearch(以下简称es),是一个搜索引擎,当然我们也可以把他当做一个数据库,那么搜索就变成了至关重要的事情.
关于es的配置我在这里我就不多做介绍了,网上一大堆而且很详细,跟着流程走就可以了
es的搜索真的很强大,拥有过滤聚合的功能真的很快,但是在这里我们不说这些,我们从基础开始:增删改查
在开始之前,向大家推荐POSTMAN,用于实现接口模拟很方便
开始我们的正题
搜索文档:
搜索是es的核心功能,是我个人认为es最精妙的地方
我们先来说说如何搜索
1) 、用文档的ID搜索
如果你知道或者能获取到你要搜索的文档的ID 那么直接index/type/id/_search 就好
POST 172.xxx.xxx.xx:xxxx/bkindex/bktype/0123456789/_search
2)、使用查询体
大多数时候我们并不知道文档的具体ID,或者我想一次性获取多个文档,我们可以使用查询体去查询(查询体语法详见es官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html);
POST 172.xxx.xxx.xx:xxxx/bkindex/bktype/_search { “query”:{ "match_all":{} } }; 3)、这里要注意的是有两个参数:size与from size是每次查询的文档数量默认为10条,一次最多查询10000条 from为从第几条开始查询,默认为0 比如我想要查询9999条数据,从第1条开始查询
POST 172.xxx.xxx.xx:xxxx/bkindex/bktype/_search { “query”:{ "match_all":{} }, “size”:9999, "from":1 }; bkindex是索引 bktype是类型 _search 代表查询方法 这是es最基础的搜索,之后会有深入搜索,聚合,排序, 至于查询体我实在是懒得写了,官网写的很详细 去撸API吧 还有一点,如果用es做数据库的话,你要知道他是属于菲关系型数据库,(key:value) 由于这一点在查询方面会与传统的表查询不同!