我正在开发一个Django网站,关于搜索引擎我有以下选择:

  • Lucene/Lucene with Compass/Solr
  • Sphinx
  • PostgreSQL
  • MySQL

选择标准:

  • 通过结果相关性排序
  • 检索速度
  • 易于使用,易于与Django集成
  • 资源需求:站点将托管在VPS,因此理想情况下,搜索引擎不需要大量的RAM和CPU。
  • 可伸缩性
  • 额外的功能,相关搜索

有什么好的建议?

注:对于用户实时输入的数据,希望延迟不超过15-30分钟

pyjplpyjpl提问于
asioc一个程序员回答于

搜索工具-Avi说:“MySQL文本搜索,它甚至不索引三个字母或更少的单词。”

MySQL全文最小字长是可调的。

也就是说,MySQL全文有其局限性:数据量越大,速度越慢

回答过的其他问题

如何搭建Hadoop处理环境?

asioc一个程序员
软件环境: 虚拟机:VMware Pro14 Linux:CentOS-6.4(下载地址,下载DVD版本即可) JDK:OpenJDK1.8.0 (强力建议不要使用 Oracle 公司的 Linux 版本的 JDK) Hadoop:2.6.5(下载地址) 虚拟机的安装和Linux...... 展开详请

将日期时间键入数据库

asioc一个程序员
已采纳
transaction是SQLite中的保留字。 sqlite> INSERT INTO history (transaction) VALUES('2019-05-19 17:14:25'); Error: near "transaction": syntax error ...... 展开详请

如何将CPR的GET响应转换为JSON对象?

asioc一个程序员

我确实玩了一些代码,最后想出来了。基本上我想要做的是将“JSON字符串”转换为JSON对象。我通过使用该方法实现了它nlohmann::json::parse();

Json j = Json::parse(r.text);
string xx = j["token"];

Value_counts不按区间划分

asioc一个程序员
这似乎不是关于python的问题。也许你应该更新你的熊猫库。 这是你想要的结果吗? df['a'].value_counts(bins=2, dropna=True).index.values array([Interval(0.45, 0.8, closed='right'...... 展开详请

使用MySQL的FOR UPDATE锁定时,究竟锁定了什么?

asioc一个程序员
这个问题很老了,但我想PO一些用索引列做的相关测试的奇怪结果。 表结构: CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, ...... 展开详请

Arel :: SelectManager如何访问结果,包括投影

asioc一个程序员
简化了activerecord / arel查询构建器 修改后的代码 photos_with_credits = Photo.select([photos[:name], photos[:created_at], creators[:name].as('creator'), u...... 展开详请

扫码关注云+社区