Elasticsearch 6.x版本全文检索学习之Search API

Elasticsearch 6.x版本全文检索学习之Search API。

1)、Search API,实现对es中存储的数据进行查询分析,endpoind为_search,如下所示。

  方式一、GET /_search,对es中所有的数据进行查询。
  方式二、GET /my_index/_search,针对单个索引的数据进行查询。
  方式三、GET /my_index1,my_index2/_search,针对两个索引的数据进行查询。
  方式四、GET /my_*/_search,指定索引查询,可以一次查询多个。

2)、查询的主要有两种形式。

  形式一、URI Search。a、优点,操作简便,方便通过命令行测试。b、缺点,仅包含部分查询语法。案例如下:

GET /test_search_index/_search?q=username:al*

  形式二、Request Body Search。a、es提供完备的查询语法Query DSL语法(Domain Specific Language)。案例如下:

GET /test_search_index/_search
{
  "query": {
    "term": {
      "username": {
        "value": "alfred"
      }
    }
  }
}

1、URI Search。通过url query参数来实现搜素,常用参数如下。

1)、q指定查询的语句,语法为Query String Syntas。q是关键字,后面跟的是查询的内容。
    term与phrase词语。语法一、alfred way这种term查询等效于alfred OR way。语法二、"alfred way"这种phrase词语查询,要求先后顺序。
    泛查询。alfred等效于在所有字段去匹配该term。
    指定字段。name:alfred。
2)、df q中不指定字段时候默认查询的字段,如果不指定,es会查询所有字段。
3)、sort排序。
4)、timeout指定超时时间,默认不超时。
5)、from,size用于分页。
6)、Group分组设定,使用括号指定匹配的规则。括号的概念,是将值做一个分组,OR和AND是布尔操作符。括号制定了匹配的优先级。
  (quick OR brown) AND fox。这个方式的意思是值先判断前面括号内的,再判断后面的。

  status:(active OR pending)。括号的另一个概念,就是将关键字作为一个整体,返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值