一 序
本文屬于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。