分布式搜索引擎基礎(chǔ)

搜索引擎是什么?

搜索引擎是個整體技術(shù),是一系列檢索服務(wù)。百度是全文檢索(更注重文字的搜索)服務(wù)。像京東的商品是垂直型搜索引擎。

es是什么?

Elastic Search 在搜索引擎中是一個分布式索引庫,nosql。有點(diǎn)像是程序中的mysql。對外提供檢索服務(wù),http或者transport協(xié)議對外提供搜索,restful的json。對內(nèi)就是數(shù)據(jù)庫。

Es名詞定義:

索引? ?就是數(shù)據(jù)庫但是不能叫數(shù)據(jù)庫。

類型(type) ≈表? ex6.x 只有一個type,,之前可以建很多。es7.x就沒有這個type了。

文檔=行數(shù)據(jù)document 。

filed? = column

缺點(diǎn):nosql 非關(guān)系型的,沒辦法鏈接查詢,就是跨索引查詢(有點(diǎn)像mysql的跨表)。

在es中我們經(jīng)常聽到這些名詞,現(xiàn)在拿這些名詞和關(guān)系型數(shù)據(jù)庫做對比:

分詞:

NLP:自然語言處理。

搜索是以詞為單位。?

倒排索引:

就是我們的value 對應(yīng)key, 因?yàn)闆]辦法通過一個value確定我們的key所以返回的結(jié)果可能是多個,這就是倒排索引和正排索引的最大區(qū)別。

正向索引:

類似我們的hashmap,比如十篇文檔,我們的1,2,3(類似我們的id)通過id找到value,

Doc: 1? ->content

Doc: 1? ->content、

TF-IDF :

TF:詞頻,一篇文章包含多了少這個詞,包含越多說明跟這個詞越相關(guān)。(例如: my name is zhaoxiaoyun? zhaoxiaoyun。? ? zhaoxiaoyun就是最相關(guān)的)

DF:文檔詞頻,包含這個詞的文檔總數(shù)。

IDF:逆文檔,1/df? 如果這個詞包含的越少,就是df越小說明這個詞對這個文檔的重要性就越大,比如1/1只有一個文檔出現(xiàn)了。

TFIDF:TF*IDF? ?數(shù)字越大說明這個文檔和這個搜索的詞關(guān)系越大, 比如一個文檔出現(xiàn)了3次aa,只有一個文檔有aa ,3*三分之一。 通過這個結(jié)果判斷順序。

Es:打分排序:BM25算法 里面有個? tfNom,有很多規(guī)則。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容