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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Solr(一) Solr 简介及搜索原理

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

一、 Solr 簡介

1 為什么使用 Solr

在海量數(shù)據(jù)下,對 MySQL 或 Oracle 進(jìn)行模糊查詢或條件查詢的效率是很低的。而搜索功能在絕大多數(shù)項目中都是必須的,如何提升搜索效率是很多互聯(lián)網(wǎng)項目必須要考慮的問題。

既然使用關(guān)系型數(shù)據(jù)庫進(jìn)行搜索效率比較低,最直接的解決方案就是使用專用搜索工具進(jìn)行搜索,從而提升搜索效率。

2 常見搜索解決方案

基于 Apache Lucene(全文檢索工具庫)實現(xiàn)搜索。但是 Lucene 的使用對于絕大多數(shù)的程序員都是“噩夢級”的。

基于谷歌 API 實現(xiàn)搜索。

基于百度 API 實現(xiàn)搜索。

3 Solr 簡介

Solr 是基于 Apache Lucene 構(gòu)建的用于搜索和分析的開源解決方案。可提供可擴(kuò)展索引、搜索功能、高亮顯示和文字解析功能。

Solr 本質(zhì)就是一個 Java web 項目,且內(nèi)嵌了 Jetty 服務(wù)器,所以安裝起來非常方便。客戶端操作 Solr 的過程和平時我們所寫項目一樣,就是請求 Solr 中控制器,處理完數(shù)據(jù)后把結(jié)果響應(yīng)給客戶端。

4 正向索引和反向索引

只要討論搜索就不得不提的兩個概念:正向索引(forward index)和反向索引(inverted index)。

正向索引:從文檔內(nèi)容到詞組的過程。每次搜索的時候需要搜索所有文檔,每個文檔比較搜索條件和詞組。

文檔詞組
I am a chineseI,am,a,chinses

反向索引:是正向索引的逆向。建立詞組和文檔的映射關(guān)系。通過找到詞組就能找到文檔內(nèi)容。(和新華字典找字很像)

詞組文檔
I,am,a,chinsesI am a chinese

二、 Solr 搜索原理

1 搜索原理

Solr 能夠提升檢索效率的主要原因就是分詞和索引(反向索引)。

分詞:會對搜索條件/存儲內(nèi)容進(jìn)行分詞,分成日常所使用的詞語。

索引:存儲在 Solr 中內(nèi)容會按照程序員的要求來是否建立索引。如果要求建立索引會把存儲內(nèi)容中關(guān)鍵字(分詞)建立索引。

2 Solr 中數(shù)據(jù)存儲說明

Solr 為了給內(nèi)容建立索引,所以 Solr 就必須具備數(shù)據(jù)存儲能力。所有需要被搜索的內(nèi)容都需要存儲在 Solr 中,在開發(fā)中需要把數(shù)據(jù)庫中數(shù)據(jù)添加到 Solr 中進(jìn)行初始化,每次修改數(shù)據(jù)庫中數(shù)據(jù)還需要同步 Solr 中的數(shù)據(jù)。

Solr 中數(shù)據(jù)存儲是存儲在 Document 對象中,對象中可以包含的屬性和屬性類型都定義在 schema.xml 中。如果需要自定義屬性或自定義屬性類型都需要修改 schema.xml 配置文件。從 Solr5 開始 schema.xml 更改名稱為 managed-schema(沒有擴(kuò)展名)

總結(jié)

以上是生活随笔為你收集整理的Solr(一) Solr 简介及搜索原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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