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



皖公網(wǎng)安備 34010202600669



