redis 全文搜索怎么实现(中文)

内容完全存在 redis 里的. redis 好像没有提供搜索的命令. 那这个功能怎么实现呢 ?
redis cookbook 里第3章提到一些. 他是英文的, 先分词建立索引,再搜索索引. 中文也要这么搞? 做个搜索还要先搞分词?

阅读 12.4k
5 个回答

中文搜索当然要先分词,不光要分词,你还要做同(近)义词替换、拼写错误纠正、无用词剔除……
要不然你以为搜索就是建个索引就完了?那Google还有啥搞头……

Redis 是个数据库不是个搜索引擎。搜索应该用 Solr 或者 Elasticsearch 这些成熟实现来搞。如果你不想自己写的话。

redis 无法实现。 请使用 Elasticsearch

可以搞。
既然利用redis建立了倒排索引,那么就可以直接用 smember(如果索引是保存在set里面的)命令查询关键词,就可以找到对应的文档id。
建立倒排索引前要做分词。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题