精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一文講透Elasticsearch倒排索引與分詞

開發 前端
本篇詳細講透Elasticsearch倒排索引與分詞。

 [[354990]]

1 倒排索引

1.1 書的目錄和索引

正排索引即目錄頁,根據頁碼去找內容


倒排索引即索引頁,根據關鍵詞去找對應頁碼


1.2 搜索引擎

  • 正排索引

          文檔Id =》文檔內容、單詞的關聯關系

  • 倒排索引

           單詞 =》 文檔Id的關聯關系

  • 左:正排索引 =》 右:倒排索引

倒排索引查詢流程

查詢包含"搜索引擎”的文檔

  1. 通過倒排索引獲得"搜索引擎”對應的文檔Id有1和3
  2. 通過正排索引查詢1和3的完整內容
  3. 返回最終結果

1.3 倒排索引的組成

1.3.1 單詞詞典( Term Dictionary )

倒排索引的重要組成

  • 記錄所有文檔的單詞 ,一般都比較大
  • 記錄單詞到倒排列表的關聯信息

單詞字典的實現一般是用B+ Tree ,示例如下


1.3.2 倒排列表( Posting List )

記錄了單詞對應的文檔集合,由倒排索引項( Posting )組成。

倒排索引項( Posting )主要包含如下信息:

  • 文檔Id ,用于獲取原始信息
  • 單詞頻率( TF, Term Frequency ),記錄該單詞在該文檔中的出現次數,用于后續相關性算分
  • 位置( Position)
  • 記錄單詞在文檔中的分詞位置(多個) , 用于做詞語搜索( Phrase Query )
  • 偏移( Offset )

記錄單詞在文檔的開始和結束位置,用于做高亮顯示

案例

以搜索引擎為例


單詞字典與倒排列表整合在一起的結構


ES存儲的是JSON格式文檔,其中包含多個字段,每個字段都有自己的倒排索引。

2 分詞

將文本轉換成一系列單詞的過程,也稱文本分析,在 ES 里稱為 Analysis。

比如文本【JavaEdge 是最硬核的公眾號】,分詞結果是【JavaEdge、硬核、公眾號】

2.1 Analyzer-分詞器

分詞器是 ES 專門處理分詞的組件,組成如下:

2.1.1 Character Filters

在Tokenizer之前對原始文本進行處理,比如增加、刪除或替換字符等。

針對原始文本進行處理,比如去除 html 特殊標記符,自帶的如下:

  • HTML Strip 去除 html 標簽和轉換 html 實體
  • Mapping 進行字符替換操作
  • Pattern Replace 進行正則匹配替換

會影響后續tokenizer解析的postion和offset信息


2.1.2 Tokenizer

將原始文本按照一定規則切分為單詞,內置:

  • standard 按單詞進行分割
  • letter 按非字符類進行分割
  • whitespace 按空格進行分割
  • UAX URL Email 按 standard 分割,但不會分割郵箱和 url
  • NGram 和 Edge NGram 連詞分割
  • Path Hierachy 按文件路徑進行分割

示例:

POST _analyze{ "tokenizer":"path_hierarchy", "text":"/one/two/three"}


2.1.3 Token Filters

針對 tokenizer 處理的單詞進行再加工,比如轉小寫、刪除或新增等處理,內置:

  • lowercase 將所有 term 轉換為小寫
  • stop 刪除 stop words
  • NGram 和 Edge NGram 連詞分割
  • Synonym 添加近義詞的 term

示例

  1. // filter 可以有多個 
  2. POST _analyze 
  3.     "text":"a Hello world!"
  4.     "tokenizer":"standard"
  5.     "filter":[ 
  6.     "stop", // 把 a 去掉了 
  7.     "lowercase",// 小寫 
  8.     { 
  9.         "type":"ngram"
  10.         "min_gram":"4"
  11.         "max_gram":"4" 
  12.     } 
  13.     ] 
  14. // 得到 hell、ello、worl、orld 

 

分詞器的調用順序


3 Analyze API

ES 提供了一個測試分詞的 API 接口,方便驗證分詞效果,endpoint 是 _analyze:

3.1 指定 analyzer

request

  1. POST _analyze 
  2.     "analyzer":"standard", # 分詞器 
  3.     "text":" JavaEdge 公眾號" # 測試文本 

response

  1.   "tokens" : [ 
  2.     { 
  3.       "token" : "java", # 分詞結果 
  4.       "start_offset" : 1, # 起始偏移 
  5.       "end_offset" : 5, # 結束偏移 
  6.       "type" : "<ALPHANUM>"
  7.       "position" : 0 # 分詞位置 
  8.     }, 
  9.     { 
  10.       "token" : "edge"
  11.       "start_offset" : 6, 
  12.       "end_offset" : 10, 
  13.       "type" : "<ALPHANUM>"
  14.       "position" : 1 
  15.     } 
  16.   ] 

 

3.2 指定索引中的字段

  1. POST  測試的索引/_analyze   
  2.     "field":"username", # 測試字段 
  3.     "text":"hello world" # 測試文本 

  

3.3 自定義分詞器

  1. POST _analyze 
  2.     "tokenizer":"standard"
  3.     "filter":["lowercase"], # 自定義 
  4.     "text":"hello world" 

之前的默認分詞器大寫

 

自定義小寫分詞器


4 內置分詞器

Standard Analyzer

默認分詞器,按詞切分,支持多語言,小寫處理

Simple Analyzer

按照非字母切分,小寫處理


Whitespace Analyzer

按空格切分


Stop Analyzer

Stop Word 指語氣助詞等修飾性詞語,比如 the、an、的、這等等,特性是相比 Simple Analyzer 多 Stop Word 處理

  

keyword Analyzer

不分詞,直接將輸入作為一個單詞輸出

 

Pattern Analyzer

通過正則表達式自定義分隔符,默認 \W+,即非字詞的符號為分隔符


 Language Analyzer

提供了 30+ 常見語言的分詞器

5 中文分詞

將一個漢字序列切分成一個個單獨的詞。在英文中,單詞之間是以空格作為自然分界符,漢語中詞沒有一個形式上的分界符。而且中文博大精深,上下文不同,分詞結果也大不相同。

比如:

  • 乒乓球拍/賣/完了
  • 乒乓球/拍賣/完了

以下是 ES 中常見的分詞系統:

IK

實現中英文單詞的切分,可自定義詞庫,支持熱更新分詞詞典

jieba

python 中最流行餓分詞系統,支持分詞和詞性標注,支持繁體分詞,自定義詞典,并行分詞

以下是基于自然語言處理的分詞系統:

Hanlp

由一系列模型與算法組成的 java 工具包,支持索引分詞、繁體分詞、簡單匹配分詞(極速模式)、基于 CRF 模型的分詞、N- 最短路徑分詞等,實現了不少經典分詞方法。目標是普及自然語言處理在生產環境中的應用。

https://github.com/hankcs/HanLP

THULAC

  • THU Lexical Analyzer for Chinese ,由清華大學自然語言處理與社會人文計算

           實驗室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性標注功能

            https://github.com/microbun/elasticsearch-thulac-plugin

6 自定義分詞器

當自帶的分詞無法滿足需求時,可以自定義分詞器,通過定義 Character Filters、Tokenizer、Token Filter 實現。自定義的分詞需要在索引的配置中設定,示例如下所示:

自定義如下分詞器


  1. // 自定義分詞器 
  2. PUT test_index_name 
  3.   "settings":{  
  4.     "analysis":{ 
  5.       "analyzer":{ 
  6.         "my_customer_analyzer":{ 
  7.           "type":"custome"
  8.           "tokenizer":"standard"
  9.           "char_filter":["html_strip"], 
  10.           "filter":["lowercase""asciifolding"
  11.         } 
  12.       } 
  13.     } 
  14.   } 
  15.  
  16. // 測試自定義分詞器效果: 
  17. POST test_index/_analyze 
  18.   "tokenizer":"keyword"
  19.   "char_filter":["html_strip"], 
  20.   "text":"Is this <b>a box</b>?" 
  21.  
  22. // 得到 is、this、a、box 

7 分詞使用說明

分詞會在如下兩個時機使用:

創建或者更新文檔時(Index Time)

會對相應的文檔進行分詞處理

索引時分詞是通過配置Index Mapping中每個字段的analyzer屬性實現的。不指定分詞時,使用默認standard。

查詢時(Search Time)

會對查詢語句進行分詞。查詢時分詞的指定方式:

  • 查詢的時候通過analyzer指定分詞器
  • 通過index mapping設置 search_analyzer 實現

分詞的最佳實踐

  • 明確字段是否需要分詞,不需要分詞的字段就將 type 設置為 keyword,可以節省空間和提高寫性能。
  • 善用 _analyze API,查看文檔的具體分詞結果
  • 多動手測試

參考

  • https://blog.csdn.net/weixin_38118016/article/details/90416391
  • https://mp.weixin.qq.com/s?__biz=MzU1NDA4NjU2MA==&mid=2247486148&idx=1&sn=817027a204650763c1bea3e837d695ea&source=41#wechat_redirect

 【編輯推薦】

 

責任編輯:姜華 來源: JavaEdge
相關推薦

2020-03-26 09:18:54

高薪本質因素

2025-01-13 12:00:00

反射Java開發

2024-08-13 17:09:00

架構分庫分表開發

2020-08-04 10:56:09

進程線程協程

2020-07-16 09:02:45

aPaaS云計算aPaaS平臺

2021-01-18 13:05:52

Serverless Serverfull FaaS

2023-11-09 08:41:25

DevOpsAIOps軟件

2023-05-04 08:24:52

ChatGPT產品經理工業革命

2024-05-31 13:23:19

OceanBase單機版架構

2024-08-07 10:54:59

正則表達式Java RegexJava

2025-10-10 07:55:23

檢索搜索架構

2020-05-20 09:55:42

Git底層數據

2025-10-30 00:55:00

AIAgent分布式

2024-11-07 22:57:30

2024-07-10 12:00:42

2025-08-28 02:15:00

CAPMySQL架構

2025-07-09 03:10:00

倒排索引檢索

2021-06-29 12:10:00

CRC校驗碼C語言

2025-10-27 05:00:00

2021-12-13 01:40:29

ElasticSear倒排索引
點贊
收藏

51CTO技術棧公眾號

欧美日韩精品国产| 亚洲一区成人| 日韩片之四级片| 亚洲五码在线观看视频| 国产黄色一区二区| 一区二区三区成人精品| 亚洲精品综合精品自拍| 美女网站视频黄色| 中文字幕中文字幕在线中高清免费版| 国产毛片一区二区| 性视频1819p久久| 亚洲一区二区观看| 国产高清亚洲| 亚洲va国产天堂va久久en| 精品一区日韩成人| 在线观看亚洲国产| 亚洲无毛电影| 正在播放欧美一区| 成人欧美精品一区二区| 欧美黑人疯狂性受xxxxx野外| 欧美激情中文不卡| 99在线热播| 无码久久精品国产亚洲av影片| 日韩综合精品| 日韩激情第一页| 日本高清免费在线视频| 激情国产在线| 亚洲同性同志一二三专区| 国产在线精品一区二区三区| 中文字幕视频二区| 亚洲一级高清| 日韩中文字在线| av网站免费在线播放| 在线高清欧美| 在线免费观看一区| av在线观看地址| 在线观看麻豆| 99re这里只有精品6| 成人国产精品一区二区| 一级片免费在线播放| 在线免费观看日本欧美爱情大片| 亚洲精品永久免费精品| 被黑人猛躁10次高潮视频| 日韩av大片站长工具| 亚洲综合成人在线| 免费成人深夜夜行网站视频| 丁香婷婷在线| 2023国产精品| 成人黄色激情网| 国产成人亚洲欧洲在线| 欧美日本国产| 亚洲无av在线中文字幕| 日韩av无码一区二区三区不卡| 日本在线一区二区| 欧美羞羞免费网站| 国产麻花豆剧传媒精品mv在线| 激情影院在线| 亚洲色图丝袜美腿| 亚洲人体一区| av大片在线看| 久久免费午夜影院| 91精品天堂| 国产孕妇孕交大片孕| 肉色丝袜一区二区| 国产成人高清激情视频在线观看 | 国产日韩亚洲| 欧美精品aaa| 国产一级中文字幕| 欧美日本在线| 欧美激情喷水视频| 久久久久久久蜜桃| 亚洲激情午夜| 97久久精品视频| www.中文字幕在线观看| 午夜影院日韩| 青草青草久热精品视频在线网站| 亚洲天堂一区在线| 日韩激情一区二区| 国产精品爽黄69天堂a| 在线观看国产精品视频| 精东粉嫩av免费一区二区三区| 91精品综合视频| 精品久久久免费视频| 蜜桃久久精品一区二区| 成人免费自拍视频| 国产按摩一区二区三区| 国产二区国产一区在线观看| 成人在线免费网站| 亚洲欧洲成人在线| 不卡一区二区中文字幕| 麻豆av一区| www在线免费观看| 国产欧美一区二区三区沐欲| 亚洲国产欧美日韩| gogo在线高清视频| 午夜精品久久久久久久蜜桃app| 日本韩国欧美在线观看| 91久久国产综合久久91猫猫| 色婷婷国产精品久久包臀| 亚洲综合在线网站| 亚洲欧美在线综合| 亚洲国产精品成人va在线观看| 一起草在线视频| 成人羞羞网站| 欧美日韩xxxxx| 久久国产视频播放| 久国产精品韩国三级视频| 高清视频在线观看一区| 日本a一级在线免费播放| 国产色91在线| 妺妺窝人体色www看人体| 蜜桃av在线播放| 欧美日本一区二区| 逼特逼视频在线观看| 国产aⅴ精品一区二区三区久久| 色青青草原桃花久久综合| 精品少妇theporn| 琪琪一区二区三区| 好看的日韩精品视频在线| av在线首页| 天天色综合成人网| 高潮一区二区三区| 欧美aaaaaaaa牛牛影院| 久久综合五月天| 日韩在线 中文字幕| 国模大尺度一区二区三区| 久久一区二区精品| 黄页视频在线播放| 色噜噜狠狠色综合中国| 免费在线观看日韩av| 精品99在线| 国内精品久久久久| 97超碰中文字幕| 久久午夜色播影院免费高清| 国产a级黄色大片| 国产日本久久| 亚洲一区二区精品| 日韩熟女精品一区二区三区| 国产乱人伦偷精品视频免下载| 欧美日韩一区二区三区在线视频| 欧美精品videossex少妇| 欧美色欧美亚洲另类二区| 国产偷人妻精品一区| 午夜日韩电影| 成人网在线免费看| 永久免费av在线| 色av综合在线| 丰满少妇在线观看资源站| 国产一区美女| 99在线高清视频在线播放| 蜜桃av在线免费观看| 欧美在线你懂得| 精品人妻互换一区二区三区| 国产亚洲午夜| 精品欧美国产| 麻豆免费版在线观看| 精品999久久久| 青青草原免费观看| 国产福利视频一区二区三区| 影音先锋成人资源网站| 亚洲日韩中文字幕一区| 亚洲性69xxxbbb| 亚洲视频 欧美视频| 久久久91精品国产一区二区精品| 波多野结衣50连登视频| 亚洲传媒在线| 欧洲成人午夜免费大片| 欧美在线精品一区二区三区| 亚洲视频一区在线| 国内外成人免费在线视频| 日韩中字在线| 91美女片黄在线观| 午夜伦理大片视频在线观看| 日韩精品一区二区三区视频播放 | 国产一二在线播放| 亚洲精品国精品久久99热| 色婷婷av国产精品| 久久久亚洲欧洲日产国码αv| 欧美丰满熟妇bbbbbb百度| 亚洲综合小说图片| 国产精品久久久久久中文字| av一区在线观看| 欧美一级理论片| 久久久久久蜜桃| 91免费在线播放| 97av视频在线观看| 欧美限制电影| 亚洲va电影大全| 成人一级福利| 亚洲亚裔videos黑人hd| 国产在成人精品线拍偷自揄拍| 亚洲美女屁股眼交3| 制服丝袜在线第一页| 视频一区在线视频| 伊人久久av导航| 第四色在线一区二区| 日本在线精品视频| 男人在线资源站| 欧美不卡123| 麻豆精品久久久久久久99蜜桃| 国产精品日韩精品欧美在线| 欧美性猛交乱大交| 亚洲免费综合| 日韩精品久久久| 国产69精品久久久久9999人| 欧美日韩xxxxx| 天天操天天干天天插| 欧美三级电影网| 国产午夜视频在线播放| 中文字幕精品一区二区三区精品| 国内精品小视频| 蜜臀久久99精品久久久| 欧美性生交xxxxx久久久| 国产精品久久久视频| 国产成人亚洲综合a∨婷婷 | 女同毛片一区二区三区| 久久99久久99精品免视看婷婷| 国产日本在线播放| 99精品综合| 麻豆亚洲一区| 亚洲日本va午夜在线电影| 国产成人在线一区| 乱插在线www| 日韩中文字幕在线视频| 亚洲欧洲视频在线观看| 日韩欧美亚洲国产另类| 国产一卡二卡三卡| 亚洲一级二级三级| 国产小视频你懂的| 久久久久久久久久电影| 国产精品嫩草69影院| 捆绑紧缚一区二区三区视频 | 国产综合欧美| 亚洲黄色一区二区三区| 爽爽窝窝午夜精品一区二区| 国产日本欧美在线观看| 国产 日韩 欧美一区| 午夜精品久久久久久久99热浪潮| 国产黄a三级三级三级av在线看| 亚洲欧美精品在线| 香蕉久久一区二区三区| 日韩美女一区二区三区| 国产精品免费无遮挡| 在线观看av不卡| √资源天堂中文在线| 性做久久久久久| 麻豆国产尤物av尤物在线观看| 国产精品久久久久久亚洲伦| 90岁老太婆乱淫| 91网站黄www| 国产美女视频免费观看下载软件| 国产精品性做久久久久久| 日本中文字幕影院| 看电视剧不卡顿的网站| 无限资源日本好片| 免费人成在线不卡| 国产高清视频网站| 欧美中文日韩| 日韩av综合在线观看| 亚洲夜间福利| 国产在线xxxx| 欧美激情日韩| 天天干天天色天天爽| 欧美.www| 日本阿v视频在线观看| 亚洲无毛电影| 男人日女人视频网站| 亚洲麻豆视频| 少妇性饥渴无码a区免费| 国产精品最新自拍| 一本久道综合色婷婷五月| 丝袜国产日韩另类美女| 可以免费在线看黄的网站| 日本免费在线视频不卡一不卡二| 亚欧美在线观看| 狠狠久久亚洲欧美| 日本黄色一级网站| 丁香六月久久综合狠狠色| 久久性爱视频网站| 久久综合国产精品| 日本美女xxx| 最新日韩av在线| 欧美激情一区二区视频| 亚洲国产色一区| 久一区二区三区| 欧美视频13p| 久久影视中文字幕| 欧美性三三影院| 国产成人久久精品77777综合 | 五月婷婷丁香在线| 欧美一区二区三区喷汁尤物| 丰满熟女一区二区三区| 精品视频在线播放| 8888四色奇米在线观看| 欧美夫妻性生活xx| 成人欧美大片| 国产啪精品视频| 盗摄牛牛av影视一区二区| 日本一区二区精品视频| 欧美aaaaaaaaaaaa| 亚洲天堂av免费在线观看| 国内久久精品| 色婷婷狠狠18| 丰满亚洲少妇av| 日本理论中文字幕| 一区二区成人在线观看| jizz国产在线观看| 日韩欧美的一区二区| 加勒比一区二区三区在线| 欧美成人剧情片在线观看| 偷拍精品精品一区二区三区| 国产视频观看一区| 欧美三级午夜理伦三级小说| 亚洲一区二区在线观| 99av国产精品欲麻豆| 激情文学亚洲色图| 91色porny蝌蚪| 欧美成人精品欧美一级| 在线精品视频免费播放| 日本xxxx人| 日韩在线观看av| 深夜成人在线| 波多野结衣成人在线| 精品国产乱码| 欧美 丝袜 自拍 制服 另类| 国产一区二区福利视频| 一道本在线观看| 精品福利视频导航| 国产情侣av在线| 永久免费精品影视网站| 2019中文字幕在线电影免费| 国产欧美一区二区三区四区| 老司机成人在线| 9l视频自拍9l视频自拍| 美女在线视频一区| 亚洲国产av一区| 五月婷婷激情综合| 亚洲精品综合久久| 久久久精品电影| 农村妇女一区二区| 日本不卡在线观看| 国产精品日韩精品欧美精品| 欧美xxxx日本和非洲| 亚洲欧洲精品一区二区三区不卡| 免费观看日批视频| 亚洲美女免费精品视频在线观看| 成人在线高清免费| 国产精品免费区二区三区观看 | 亚洲天堂av中文字幕| 日本成人伦理电影| 国产精品区一区二区三| 91网址在线观看精品| 国产欧美日韩卡一| 五月天婷婷久久| 亚洲精品mp4| 日韩xxx高潮hd| 久久久久久久久成人| 中文字幕中文字幕中文字幕亚洲无线| 熟女视频一区二区三区| 国产情侣一区| 红桃视频一区二区三区免费| 日韩中文字幕| 亚洲主播在线播放| 又大又长粗又爽又黄少妇视频| 中文字幕一区二区在线播放| 中文字幕资源网| 亚洲一区二区久久久| 亚州一区二区三区| 亚洲女同一区二区| 国产99在线播放| 色偷偷在线观看| 久久人人爽人人爽人人片亚洲 | 久久久人成影片一区二区三区观看| 好吊色在线观看| 三级在线观看一区二区| 久久99国产综合精品女同| free欧美| 亚洲春色在线视频| 国产精品一区在线观看你懂的| 日本熟妇色xxxxx日本免费看| 亚洲美女视频网| 亚洲精品tv| 欧美精品一区免费| 国产精品对白交换视频| 男人天堂av网| 国产精品久久久久久久久久尿| 国内自拍亚洲| 精品毛片乱码1区2区3区| 182午夜在线观看| 蜜臀av一区二区在线免费观看| 国产第一页浮力| 欧美变态凌虐bdsm| 精品国模一区二区三区| eeuss中文| 91色porny在线视频| 91影院在线播放| 日本视频久久久| 欧美福利在线| 一级在线观看视频| 亚洲成人教育av|