一 序
本文属于Elasticsearch核心技术与实战学习笔记系列。本节课主要讲解Search API。
二 Search API
URL Search
在 URL 中使用查询参数
Request Body Search
使用 Elasticsearch 提供的,基于 JSON 格式的格式更加完备的 Query Dpmain Specific Language (DSL)
2.1URL 查询
- 使用 “q” , 指定查询字符串
- “query string syntax” , KV 键值对
返回数据:
Request Body
#REQUEST Body
POST kibana_sample_data_ecommerce/_search
{
"profile": true,
"query": {
"match_all": {}
}
}
执行结果:
took:花费时间
total:命中结果数
hits: 命中结果集,默认前10个。
_index:索引名
_id: 文档ID
_score: 相关度评分
_source:文档原始信息。
三 搜索的相关性 Relevance
- 搜索是用户和搜索引擎的对话
- 用户关心的是搜索结果的相关性
- 是否找到所有相关的内容
- 有多少不相关的内容被返回了
- 文档的打分是否合理
- 结合业务需求,平衡结果排名
这块老师用了常见的苹果手机举例子介绍搜索。
3.1WEB 搜索
- Page Rank 算法
- 不仅仅是内容
- 更重要的是内容的可信度
老师一Google的搜索举例子。这块设计SEO等,展开也是很大一块。
3.2电商搜索
- 搜索引擎扮演 - 销售的角色
- 提高用户购物体验
- 提升网站的销售业绩
- 去库存
常用电商你懂得。
3.3衡量相关性
Information Retrieval
Precision (查准率) - 尽可能返回较少的无关文档
Recall (查全率) - 尽量返回较多的相关文档
Ranking - 是否能够按照相关度进行排序
Precision & Recall
Prcision - True Positive / 全部返回的结果 (True and False Positives)
Recall - True Positive / 返回应该返回的结果 (True positives + false Negtives)
使用 Elasticsearch 的查询和相关参数改善搜索的 Precision 和 Recal
小结:
本节是概览,了解下URL Search、Request Body Search(DSL)
下一节会将URLsearch。日威查询还是kibana中使用dev tool。