搜索引擎在大型網(wǎng)站中也非常重要,尤其是對(duì)于大數(shù)據(jù)的處理方面,比如日志的實(shí)時(shí)收集和分析。
常用的搜索引擎有Elastic Search、RediSearch、Redis-search4j等。
Elastic Search
Elastic Search是一個(gè)基于Lucene構(gòu)建的開源,分布式,RESTful搜索引擎。設(shè)計(jì)用于云計(jì)算中,能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。支持通過HTTP使用JSON進(jìn)行數(shù)據(jù)索引。不過Elastic Search安裝運(yùn)行至少需要Java 7的支持。
同時(shí)我們可以使用 Marvel 可視化監(jiān)控臺(tái)進(jìn)行搜索監(jiān)控。
RediSearch
RediSearch是一個(gè)高性能的全文搜索引擎,可作為一個(gè)Redis Module 運(yùn)行在Redis上,是由RedisLabs團(tuán)隊(duì)開發(fā)的。
RediSearch 是在Redis基礎(chǔ)上從0開始開發(fā)的一個(gè)全文搜索索引,使用新的Redis Modules API來擴(kuò)展Redis新命令和能力,它的主要特性包括:
-
簡(jiǎn)單,快速索引和搜索
-
數(shù)據(jù)存儲(chǔ)在內(nèi)存中,使用內(nèi)存-有效的自定義數(shù)據(jù)結(jié)構(gòu)
-
支持多種使用UTF-8編碼的語言
-
文檔和字段評(píng)分
-
結(jié)果的數(shù)值過濾
-
通過詞干擴(kuò)展查詢
-
精確的短語搜索
-
按特定屬性過濾結(jié)果(例如僅在標(biāo)題中搜索“foo”)
-
強(qiáng)大的自動(dòng)提示引擎
-
增量索引(不需要對(duì)索引進(jìn)行優(yōu)化和壓縮)
-
支持用作存儲(chǔ)在另一數(shù)據(jù)庫中的文檔的搜索索引
-
支持已經(jīng)在Redis中存在的HASH對(duì)象作為文件的索引
-
擴(kuò)展到多個(gè)Redis實(shí)例
Redis-search4j
redis-search4j也是一款基于redis的搜索組件。
-
基于redis,性能高效
-
實(shí)時(shí)更新索引
-
支持Suggest前綴、拼音查找(AutoComplete功能)
-
支持單個(gè)或多個(gè)分詞搜索
-
可根據(jù)字段進(jìn)行結(jié)果排序



皖公網(wǎng)安備 34010202600669



