正向索引的結構如下:
“文檔1”的ID > 單詞1:出現次數,出現位置列表;單詞2:出現次數,出現位置列表;…………。
“文檔2”的ID > 此文檔出現的關鍵詞列表。
一般是通過key,去找value。
當用戶在主頁上搜索關鍵詞“華為手機”時,假設只存在正向索引(forward index),那么就需要掃描索引庫中的所有文檔,找出所有包含關鍵詞“華為手機”的文檔,再根據打分模型進行打分,排出名次后呈現給用戶。因為互聯網上收錄在搜索引擎中的文檔的數目是個天文數字,這樣的索引結構根本無法滿足實時返回排名結果的要求。
所以,搜索引擎會將正向索引重新構建為倒排索引,即把文件ID對應到關鍵詞的映射轉換為關鍵詞到文件ID的映射,每個關鍵詞都對應着一系列的文件,這些文件中都出現這個關鍵詞。
得到倒排索引的結構如下:
“關鍵詞1”:“文檔1”的ID,“文檔2”的ID,…………。
“關鍵詞2”:帶有此關鍵詞的文檔ID列表。
從詞的關鍵字,去找文檔。
官網
https://www.elastic.co/guide/en/elasticsearch/reference/5.x/analysis.html
官網,提供了很多很多。大家自行去看!
索引分析模塊Analyzer
分解器Tokenizer
詞元過濾器token filters
經過 Tokenizer
Elasticsearch之IKAnalyzer的過濾停止詞
大家,有興趣,可以看看,英文停用詞
http://www.ranks.nl/stopwords
大家,有興趣,可以看看,中文停用詞
Elasticsearch之中文分詞器
Elasticsearch之幾個重要的分詞器