准备做一个商城的站内搜索,不知道选什么好,求推荐。

2015-12-08 14:45:07 +08:00
 acrisliu
项目是一个商城,现在的搜索太过简单,就是去数据库匹配商品名称来查询结果。

现在的需求是,可以根据商品详情页自动建立词条索引,然后可以通过商品名称、商家名称、商品描述中的字词等等来搜索商品。

Google 了一圈,发现用 Sphinx 、 Solr 和 Elastic Seaech 做搜索引擎的较多,但是因为三种都未接触过,无法确定哪一种更适合我的需求,以及哪一种能快速上手。

各位 V 友经历丰富,希望能指点一二,不甚感激。
1944 次点击
所在节点    问与答
21 条回复
kslr
2015-12-08 14:57:07 +08:00
开发背景?数据量?
acrisliu
2015-12-08 15:13:38 +08:00
@kslr 开发背景的话,项目组的人目前都没有接触搜索引擎方面的技术,老大也是要我先研究研究,然而我也不会呀,只能边学边做。
数据量目前是很小的,就算几年后也不会太大,上万个商品就已经很不错了。做这个搜索引擎的目的是为了通过除了商品名以外的其他信息来搜索商品信息,不是为了解决性能问题😄
CharlesL
2015-12-08 15:17:55 +08:00
这几个中只用过 solr ,你这种需求,用 solr 做起来应该挺简单。
acrisliu
2015-12-08 15:20:29 +08:00
@CharlesL 感谢,简单就好,太复杂的我也啃不动。我先去找找 solr 方面的资料。
jarlyyn
2015-12-08 15:21:39 +08:00
发工单……
jarlyyn
2015-12-08 15:21:55 +08:00
发错……
xi_lin
2015-12-08 15:22:04 +08:00
ES 也挺好用
heian0224
2015-12-08 15:22:33 +08:00
slor 完全够了。
Altman
2015-12-08 15:40:38 +08:00
ES 吧
kslr
2015-12-08 15:47:22 +08:00
@acrisliu 这个开发背景是因为比如 Solr 和 Java 会结合的更好的这样的意思
acrisliu
2015-12-08 15:48:33 +08:00
@xi_lin @heian0224 @Altman 感谢推荐,大家都推荐 slor 和 es ,不知道哪种做起来简单些,然后建立索引是需要手动导入数据还是能像爬虫一样自动导入呢,谢谢。
haython
2015-12-08 15:49:15 +08:00
PostgreSQL 是最好的选择
acrisliu
2015-12-08 15:50:01 +08:00
@kslr 目前项目就是用 Java 开发的,看来 solr 更合适一些咯
acrisliu
2015-12-08 15:50:34 +08:00
@haython 我记得这个是关系型数据库来着...😅
haython
2015-12-08 15:53:43 +08:00
@acrisliu 它的搜索功能非常强,而且因为是关系型数据,还可以做许多搜索引擎做不到的
kslr
2015-12-08 15:56:31 +08:00
@acrisliu 配置好连接,以及语句,就是自动的;
这三种都挺简单的, Sphinx 我现在在用, 2 亿多数据延迟 200 毫秒内,就是感觉搜索语句上不太灵活, Solr 没有用过,因为 Java 的都是内存大户, ES 挺现代的,感觉不错,不过目前已经够用了。


@haython 为了解决了搜索问题还要换掉数据库,还要培训。
acrisliu
2015-12-08 15:59:54 +08:00
@haython 但是建立关键词 索引这些怎么实现呢
evefree2
2015-12-08 16:04:29 +08:00
sphinx 吧,这玩意就挺简单了
haython
2015-12-08 16:20:00 +08:00
@acrisliu 推荐看一下《七周七数据库》,里边有用 PostgreSQL 实现了一个搜索加推荐的例子
xi_lin
2015-12-08 18:51:07 +08:00
@haython PostgreSQL 自带中英文分词能力?能调整 rank score?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241991

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX