2014-03-30 37 views
4

我想知道是否有人有這些搜索引擎的經驗,我約2500條記錄包括id和名稱(id-> 5 ....... name- >城市,州)在一張表中,這是隻讀的,幾乎從不改變,如果我選擇mysql,我想使用:select id,來自城市的名稱,如'%text%'和名稱'%othertext% 「; ...對於每個單詞或者Redis來說,哪種選擇更適合這種情況?是一個網站的自動完成,並存在城市白名單和名稱幾個字。Redis與Mysql引擎類型的內存

回答

4

對於自動完成列表(使用startswith或通配符搜索),Redis本身不是您最好的選擇。最近,我爲Redis添加了一些功能來完成此操作(以及startswith位)。查看拉請求here

如果你想跳上NoSQL旅行車,像ElasticSearch或SOLR這樣的集成解決方案值得研究。他們使用Redis作爲後端,並提供複雜的標記和自然語言檢測(Lucene等)。

使用一個對象映射器,如(這裏是python示例)Josiah Carlsons的rom或Luca Sbardella的stdnet也是一個選項。他們以這樣一種方式存儲數據,即可以使用自動化的Lua腳本在Redis中執行簡單的查詢。

如果您更喜歡堅持使用SQL,那麼使用像MySql或Postgres這樣的關係數據庫沒有任何問題。特別是對於這樣少量的行。

希望這有助於,TW

+0

感謝您的答案TW,新的選項來分析:) – Joefay