ElasticSearch 倒排索引_08
生活随笔
收集整理的這篇文章主要介紹了
ElasticSearch 倒排索引_08
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
倒排索引:是 es 中非常重要的索引結構,是從文檔詞項到文檔 ID 的一個映射過程。
“正排索引”
我們在關系型數據庫中見到的索引,就是“正排索引”。
關系型數據庫中的索引如下,假設我有一個博客表:
| 1 | gblfy | 倒排索引標題 | 具體內容xxx |
| 2 | 心靈之境 | es中文分詞器標題 | 具體內容xxx |
一般為了提高查詢效率查會給id或者標題添加索引。換句話說我們可以針對這個表建立索引(正排索引):
| 1 | 具體內容xxx |
| 2 | 具體內容xxx |
| 倒排索引標題 | 具體內容xxx |
| es中文分詞器標題 | 具體內容xxx |
以上就是以id和標題創建的4個索引
當我們通過 id 或者標題去搜索文章時,就可以快速搜到。
但是,如果我們按照文章內容的關鍵字去搜索,就只能去內容中做字符匹配了(select * from 表 where 字段 like ‘%關鍵詞%’)。為了提高查詢效率,就要考慮使用倒排索引。
倒排索引
倒排索引:就是以內容的關鍵字建立索引,通過索引找到文檔 id,再進而找到整個文檔。
| java | √ | |
| es | √ | √ |
| gblfy | √ | √ |
一般來說,倒排索引分為兩個部分:
- 單詞詞典(記錄所有的文檔詞項,以及詞項到倒排列表的關聯關系(例如:上面的表格))
- 倒排列表(記錄單詞與對應的關系,由一系列倒排索引項組成,倒排索引項指:文檔 id、詞頻(TF)(詞項在文檔中出現的次數,評分時使用)、位置(Position,詞項在文檔中分詞的位置)、偏移(記錄詞項開始和結束的位置))
當我們去索引一個文檔時,就回建立倒排索引,搜索時,直接根據倒排索引搜索。
總結
以上是生活随笔為你收集整理的ElasticSearch 倒排索引_08的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js获取数组中最大和最小值
- 下一篇: template might not e