Elasticsearch:Search API

  • URI Search :在URL中使用查询参数。
  • Request Body Search:使用基于JSON格式的更加完备的Query DSL(Domain Specific Language)。

指定查询的索引

语法范围
/_search集群上所有的索引
/index1/_searchindex1
/index1,index2/_searchindex1和index2
/index*/_search以index开头的索引

URI查询

  • 使用"q"查询指定字符串。
  • 例如,在index1中查询name为Mike的记录:curl -XGET “http://elasticsearch:9200/index1/_search?q=name:Mike”。
  • GET /movies/_search?q=2012&df=title&sort=year:desc&from=0&size=10&timeout=1s
    {
    “profile”: “true”
    }
  • q指定查询语句
  • df指定查询字段,不指定会对所有字段进行查询。
  • sort、from、size排序和分页参数
  • profile可以查看查询的执行过程
  • q=2012&df=title 等价于 q=title:2012
  • q=beautiful mind 意思是全文搜索beautiful或mind
  • q="beautiful mind"意思是全文搜索beautiful 和mind 且顺序一致
  • q=(beautiful mind)意思是全文搜索beautiful 和mind ,不要求顺序

Request Body

  • 例如,查询index1中的所有文文档: curl -XGET “http://elasticsearch:9200/index1/_search” -H
{
    "sort":[{"order_date":"desc"}]
    "_source":["order_date","category"],
    "from":10,
    "size":20,
	"query":{
		"match_all":{}
	}
}
  • POST和GET都支持。
  • from和size是分页参数,sort是排序参数。获取靠后的翻页成本较高。
  • _source是需要的字段,不写默认返回所有字段

搜索的相关性

  • 搜索是用户和搜索引擎的对话,用户关心的是搜索结果的相关性:
    • 是否可以找到所有相关内容。
    • 有多少不相关的内容被返回了。
    • 文档打分是否合理。
    • 结合业务需求,平衡结果排名。
  • 衡量相关性:
    • Precision(查准率):尽可能少返回无关文档。正确返回/所有返回
    • Recall(查全率):尽量多返回相关文档。正确返回/所有应该返回的结果
    • Ranking(排序):是否能够按照相关性排序。
      在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值