公告 全新的站内搜索上线

huacnlee · 2016年01月06日 · 最后由 huihen 回复于 2016年01月30日 · 4861 次阅读

这个功能已经有很多人提过需求了,之前一直碍于自己实现全文搜索太复杂,一堆的配置,使得环境安装变得困难,所以一直没弄。

此外自己实现的站内搜索功能由于没有足够的细节调优,搜索结果无法和 Google 的结果相比(包括目前上线的版本,只能说暂时够用了)

新的搜索功能背后是基于 Elasticsearch 来实现的(每次用它都想吐槽,DSL 太难用了,完全搞不清楚...)

总之,经过反复修改,搜索功能已经实现了:

点击这里尝试:https://ruby-china.org/search?q=Rails+5

有经验的同学可以尝试帮助完善一下 Mapping 的配置,比如权重什么的 另外,暂时还没有中文分词功能,是直接把文字拆开的

共收到 47 条回复

感谢,终于不用再翻墙用google搜索站内了

太赞!

请教下为什么不使用 sphinx solr 之类的全文搜索引擎呢? 有技术上的考虑吗?

同事推荐过Elasticsearch,准备应用到自己的项目 :plus1:

elasticsearch-analysis-ik 效果还是挺好的 https://github.com/medcl/elasticsearch-analysis-ik

:plus1: 总有连不上 Google 的时候,现在站内搜索方便多了

这个功能好~ :plus1:

太棒了!👍

恭喜,记得要装java环境,服务器配置小玩不起

求 API 支持

太好了。testerhome 也用 elasticsearch,但是有几个bug。一会看看你的代码。

没用过 elasticsearch , 搜索出来的内容匹配后能否再根据帖子时间倒序排下?

功能赞! 不过我感觉如果还没有输入关键字,就已经有清除按钮,有点怪……

query_string 直接处理用户输入会出异常,可以改成 simple_query_string, 已发 PR

#22楼 @hemslo 没看到 PR 呀

@huacnlee 刚才选分支看错了,现在发了

搜不出任何结果

#25楼 @xfstart07 有了,调整了一下配置

最早我们的搜索基于zoie做的,结果这鬼后面疲软了。

老大,我就说一点...那个叉叉在那看着感觉不是很舒服,不知道为什么... 或许加个fade-out的效果会好一点?就是不要全黑,太强调了似乎

#6楼 @chenjau 有同样的疑惑,同问 @huacnlee 问题是“请教下为什么不使用 sphinx solr 之类的全文搜索引擎呢? 有技术上的考虑吗?”

Elasticsearch 分词会把中文一个一个的拆开,简直溜得不要不要的,哈哈哈~~ 像 uuid 这样的,如果中间带了 - 和 _ 也会被拆成几段

我司启用的时候,发现这个问题就决定把分词关了。等等,要关闭分词,那要重新建索引,也就要重新导数据,亿级的数据量,当时的画面简直不能再美

如果是为了国内访问,提名一下 bing:

http://cn.bing.com/search?q=site%3Aruby-china.org

感觉Lucene的几个中文分词都好难用啊 分词可以试试云服务 http://www.ltp-cloud.com/,然后把分词的结果存在 redis 中

Ruby China 开 ES 需要用多少内存?

顶一个

:plus1:

那个关闭的x太难看了。。。。

别的都挺好

google 其实挺好用的,不过翻墙无力的时候还是有站内作备用比较好。另外,建议加上切换选项:关联性最强,最新发表,更热门

使用多次以后发现搜索结果少于google

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册