偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你了解搜索引擎嗎?

系統(tǒng) 瀏覽器
對于結(jié)構(gòu)化數(shù)據(jù),我們?般都是可以通過關(guān)系型數(shù)據(jù)庫(mysql,oracle等)的 table 的?式存儲和搜索,也可以建?索引。通過b-tree等數(shù)據(jù)結(jié)構(gòu)快速搜索數(shù)據(jù)。

什么是全文搜索引擎?

常?的搜索?站,?如百度,?歌。

數(shù)據(jù)的分類

  • 結(jié)構(gòu)化數(shù)據(jù):指具有固定格式或有限?度的數(shù)據(jù),如數(shù)據(jù)庫,元數(shù)據(jù)等。

對于結(jié)構(gòu)化數(shù)據(jù),我們?般都是可以通過關(guān)系型數(shù)據(jù)庫(mysql,oracle等)的 table 的?式存儲和搜索,也可以建?索引。通過b-tree等數(shù)據(jù)結(jié)構(gòu)快速搜索數(shù)據(jù)。

  • ?結(jié)構(gòu)化數(shù)據(jù):全?數(shù)據(jù),指不定?或?固定格式的數(shù)據(jù),如郵件,word?檔等。

對于?結(jié)構(gòu)化數(shù)據(jù),也即對全?數(shù)據(jù)的搜索主要有兩種?法:順序掃描法,全?搜索法。

順序掃描

  • 按字?意思,我們可以了解它的?概搜索?式,就是按照順序掃描的?式查找特定的關(guān)鍵字。?如讓你在?篇籃球新聞中,找出"科?"這個名字在哪些段落出現(xiàn)過。那你肯定需要從頭到尾把?章閱讀?遍,然后標記出關(guān)鍵字在哪些地?出現(xiàn)過。
  • 這種?法毋庸置疑是最低效的,如果?章很?,有?萬字,等你閱讀完這篇新聞?wù)业?科?"這個關(guān)鍵字,那得花多少時間。

全?搜索

  • 對?結(jié)構(gòu)化數(shù)據(jù)進?順序掃描很慢,我們是否可以進?優(yōu)化?把我們的?結(jié)構(gòu)化數(shù)據(jù)想辦法弄得有?定結(jié)構(gòu)不就?了嗎?將?結(jié)構(gòu)化數(shù)據(jù)中的?部分信息提取出來,重新組織,使其變得有?定結(jié)構(gòu),然后對這些有?定結(jié)構(gòu)的數(shù)據(jù)進?搜索,從?達到搜索相對較快的?的。這種?式就構(gòu)成了全?搜索的基本思路。這部分從?結(jié)構(gòu)化數(shù)據(jù)中提取出的然后重新組織的信息,我們稱之索引。
  • 我們以NBA中國?站為例,假設(shè)我們都是籃球愛好者,并且我們是科密,那如何快速找到有關(guān)科?的新聞呢?全?搜索的?式就是,將所有新聞中所有的關(guān)鍵字進?提取,?如"科?","詹姆斯","總冠軍","MVP"等關(guān)鍵字,然后對這些關(guān)鍵字建?索引,通過索引我們就可以找到對應(yīng)的該關(guān)鍵詞出現(xiàn)的新聞了。

什么是全?搜索引擎

根據(jù)百度百科中的定義,全?搜索引擎是?前?泛應(yīng)?的主流搜索引擎。它的?作原理是計算機索引程序通過掃描?章中的每?個詞,對每?個詞建??個索引,指明該詞在?章中出現(xiàn)的次數(shù)和位置,當?戶查詢時,檢索程序就根據(jù)事先建?的索引進?查找,并將查找的結(jié)果反饋給?戶的。

搜索引擎

  • Lucene
  • Solr
  • Elastic search

為什么不?mysql做全?搜索

前?

  • 有?可能會問,為什么?定要?搜索引擎呢?我們的所有數(shù)據(jù)不是都可以放在數(shù)據(jù)庫?嗎?
  • ?且 Mysql,Oracle,SQL Server 等數(shù)據(jù)庫?不是也能提供查詢搜索功能,直接通過數(shù)據(jù)庫查詢不就可以了嗎?
  • 確實,我們?部分的查詢功能都可以通過數(shù)據(jù)庫查詢獲得,如果查詢效率低下,還可以通過新建數(shù)據(jù)庫索引,優(yōu)化SQL等?式進?提升效率,甚?通過引?緩存?如redis,memcache來加快數(shù)據(jù)的返回速度。如果數(shù)據(jù)量更?,還可以通過分庫分表來分擔查詢壓?。
  • 那為什么還要全?搜索引擎呢?我們從?個?度來說

數(shù)據(jù)類型

全?索引搜索很好的?持?結(jié)構(gòu)化數(shù)據(jù)的搜索,可以更好地快速搜索?量存在的任何單詞?結(jié)構(gòu)化?本。例如 Google,百度類的?站搜索,它們都是根據(jù)??中的關(guān)鍵字?成索引,我們在搜索的時候輸?關(guān)鍵字,它們會將該關(guān)鍵字即索引匹配到的所有??返回;還有常?的項?中應(yīng)??志的搜索等等。對于這些?結(jié)構(gòu)化的數(shù)據(jù)?本,關(guān)系型數(shù)據(jù)庫搜索不是能很好的?持。

搜索性能

如果使?mysql做搜索,?如有個player表,這個表有user_name這個字段,我們要查找出user_name以james開頭的球員,和含有James的球員。我們?般怎么做?數(shù)據(jù)量達到千萬級別的時候怎么辦?

select * from player where user_name like 'james%';
select * from player where user_name like '%james%';

靈活的搜索

  • 如果我們想查出名字叫james的球員,但是?戶輸?了jame,我們想提示他?些關(guān)鍵字

  • 如果我們想查出帶有"冠軍"關(guān)鍵字的?章,但是?戶輸?了"總冠軍",我們也希望能查出來。

索引的維護

?般傳統(tǒng)數(shù)據(jù)庫,全?搜索都實現(xiàn)的很雞肋,因為?般也沒??數(shù)據(jù)庫存??本字段,因為進?全?搜索的時候需要掃描整個表,如果數(shù)據(jù)量?的話即使對SQL的語法進?優(yōu)化,也是效果甚微。即使建?了索引,但是維護起來也很麻煩,對于 insert 和 update 操作都會重新構(gòu)建索引。

適合全?索引引擎的場景

  • 搜索的數(shù)據(jù)對象是?量的?結(jié)構(gòu)化的?本數(shù)據(jù)。
  • ?本數(shù)據(jù)量達到數(shù)?萬或數(shù)百萬級別,甚?更多。
  • ?持?量基于交互式?本的查詢。
  • 需求?常靈活的全?搜索查詢。
  • 對安全事務(wù),??本數(shù)據(jù)操作的需求相對較少的情況。

常?的搜索引擎

簡介:常?的搜索引擎,Lucene,Solr,Elasticsearch

Lucene

  • Lucene是?個Java全?搜索引擎,完全?Java編寫。Lucene不是?個完整的應(yīng)?程序,?是?個代碼庫和API,可以很容易地?于向應(yīng)?程序添加搜索功能。
  • 通過簡單的API提供強?的功能

可擴展的?性能索引

強?,準確,?效的搜索算法

跨平臺解決?案

  • Apache軟件基?會

在Apache軟件基?會提供的開源軟件項?的Apache社區(qū)的?持。

但是Lucene只是?個框架,要充分利?它的功能,需要使?java,并且在程序中集成Lucene。需要很多的學習了解,才能明?它是如何運?的,熟練運?Lucene確實?常復雜。

Solr

  • Solr是?個基于Lucene的Java庫構(gòu)建的開源搜索平臺。它以?戶友好的?式提供ApacheLucene的搜索功能。它是?個成熟的產(chǎn)品,擁有強???泛的?戶社區(qū)。它能提供分布式索引,復制,負載均衡查詢以及?動故障轉(zhuǎn)移和恢復。如果它被正確部署然后管理得好,它就能夠成為?個?度可靠,可擴展且容錯的搜索引擎。很多互聯(lián)?巨頭,如Netflflix,eBay,Instagram和亞?遜都使?Solr,因為它能夠索引和搜索多個站點。
  • 強?的功能

全?搜索

突出

分?搜索

實時索引

動態(tài)群集

數(shù)據(jù)庫集成

NoSQL功能和豐富的?檔處理

Elasticsearch

  • Elasticsearch是?個開源,是?個基于Apache Lucene庫構(gòu)建的Restful搜索引擎.
  • Elasticsearch是在Solr之后?年推出的。它提供了?個分布式,多租戶能?的全?搜索引擎,具有HTTP Web界?(REST)和?架構(gòu)JSON?檔。Elasticsearch的官?客戶端庫提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript。
  • 主要功能

分布式搜索

數(shù)據(jù)分析

分組和聚合

  • 應(yīng)?場景

維基百科

Stack Overflflow

GitHub

電商?站

?志數(shù)據(jù)分析

商品價格監(jiān)控?站

BI系統(tǒng)

站內(nèi)搜索

籃球論壇

參考個人博客:??cyz??

責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2022-02-24 00:07:22

Shodan網(wǎng)絡(luò)搜索

2023-02-08 10:45:23

2025-02-28 01:00:00

2023-09-21 15:05:12

ChatGPT搜索引擎

2024-05-10 08:44:25

ChatGPT模型GPT

2011-06-20 18:23:06

SEO

2017-08-07 08:15:31

搜索引擎倒排

2020-03-20 10:14:49

搜索引擎倒排索引

2012-09-07 13:22:21

搜索搜狗

2023-01-11 09:37:37

搜索引擎排序

2009-02-19 09:41:36

搜索引擎搜狐百度

2010-04-20 11:43:46

2010-09-01 16:45:28

2009-09-22 16:23:52

搜索引擎

2013-01-07 10:32:46

平板搜索引擎機遇

2013-03-21 09:47:34

2020-02-19 13:38:42

開源索引互聯(lián)網(wǎng)

2023-01-03 15:42:29

機器學習視頻搜索

2010-06-13 16:27:28

搜索引擎

2009-07-30 10:40:56

搜索引擎優(yōu)化網(wǎng)站
點贊
收藏

51CTO技術(shù)棧公眾號