日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Solr工作原理

發(fā)布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Solr工作原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Solr簡介

Solr是一個獨立的企業(yè)級搜索應用服務器,它對外提供類似于Web-service的API接口。用戶可以通過http請求,向搜索引擎服務器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,并得到XML格式的返回結果。

要想知道solr的實現(xiàn)原理,首先得了解什么是全文檢索,solr的索引創(chuàng)建過程和索引搜索過程。

一、全文檢索

首先舉個例子:比如現(xiàn)在有5個文檔,我現(xiàn)在想從5個文檔中查找出包含"solr工作原理"的文檔,此時有兩種做法:

1.順序掃描法:對5個文檔依次查找,包含目標字段的文檔就記錄下來,最后查找的結果可能是在2,3文檔中,這種查找方式叫做順序掃描法

順序掃描法在文檔數(shù)量較少的情況下,查找速度還是很快的,但是當文檔數(shù)量很多時,查找速度就差強人意了。

2.全文檢索:對文檔內容進行分詞,對分詞后的結果創(chuàng)建索引,然后通過對索引進行搜索的方式叫做全文檢索

全文檢索就相當于根據(jù)偏旁部首或者拼音去查找字典,在文檔很多的情況,這種查找速度肯定比你一個一個文檔查找要快。

二、索引創(chuàng)建和搜索過程

1.創(chuàng)建索引

舉例子:

文檔一:solr是基于Lucene開發(fā)的企業(yè)級搜索引擎技術

文檔二:Solr是一個獨立的企業(yè)級搜索應用服務器,Solr是一個高性能,基于Lucene的全文搜索服務器

首先經(jīng)過分詞器分詞,solr會為分詞后的結果(詞典)創(chuàng)建索引,然后將索引和文檔id列表對應起來,如下圖所示:


比如:solr在文檔1和文檔2中都有出現(xiàn),所以對應的文檔ID列表中既包含文檔1的ID也包含文檔2的ID,文檔ID列表對應到具體的文檔,并體現(xiàn)該詞典在該文檔中出現(xiàn)的頻次,頻次越多說明權重越大,權重越大搜索的結果就會排在前面。

solr內部會對分詞的結果做如下處理:

1.去除停詞和標點符號,例如英文的this,that等, 中文的"的","一"等沒有特殊含義的詞

2.會將所有的大寫英文字母轉換成小寫,方便統(tǒng)一創(chuàng)建索引和搜索索引

3.將復數(shù)形式轉為單數(shù)形式,比如students轉為student,也是方便統(tǒng)一創(chuàng)建索引和搜索索引

2.索引搜索過程

知道了創(chuàng)建索引的過程,那么根據(jù)索引進行搜索就變得簡單了。

1.用戶輸入搜索條件

2.對搜索條件進行分詞處理

3.根據(jù)分詞的結果查找索引

4.根據(jù)索引找到文檔ID列表

5.根據(jù)文檔ID列表找到具體的文檔,根據(jù)出現(xiàn)的頻次等計算權重,最后將文檔列表按照權重排序返回


訪問我的達人課

更多博客內容詳見我的博客 Wang's Blog



總結

以上是生活随笔為你收集整理的Solr工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。