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

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

选择标准:

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

有什么好的建议?

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

pyjplpyjpl提问于
翅膀的初衷产品控回答于

弹性搜索是基于Lucene的搜索服务器。它提供了一个分布式的、具有多用户功能的全文搜索引擎,具有一个RESTful的web界面和无模式的JSON文档。弹性搜索是在Java中开发的,在Apache许可的条件下作为开放源码发布。

与其他FTS(全文搜索)引擎相比,它的优势是:

  • RESTful接口
  • 不错的可拓展性
  • 大型社区
  • 由Lucene开发人员建造
  • 广泛文献
  • 有很多开放源码库(包括Django)

回答过的其他问题

如何给数据加密技术选择并使用密钥为防止数据库数据外泄?

加密算法应该根据自己的使用特点来确定。 非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。 对称加密算法不能实现签名,签名只能非对称算法。 当数据量很小时,我们可以考虑采用非对称加密算法。 在实际的操作过程中,我...... 展开详请

5G无线通信与4G的典型区别有哪些?用了哪些新技术?

3G提升了速度,4G改变了生活,5G则将改变社会。5G不仅仅是带宽的提升,更是一次颠覆性的升级。将人与人之间的通信向万物互联转变,成为整个社会数字化转型的重要基石。

采摘或其他什么?

使用数据库查询 DB::table('mobil') ->select('name', 'status', 'des') ->where('id', $id) ->first(); 使用模型 如果你的模型是Mobil.php Mobil::sel...... 展开详请

FacebookAds \ Exception \ Exception:连接超过10000毫秒后超时

在文件中: /facebook-php-ads-sdk/src/FacebookAds/Http/Adapter/CurlAdapter.php 我变了: CURLOPT_CONNECTTIMEOUT => 10 至 CURLOPT_CONNECTTIMEOUT => 20 它...... 展开详请

如何使功能模块状态从许多延迟加载模块全局缓存?

在拨打电话之前,您可以检查商店中是否已有商品 @Effect() getOrder = this.actions.pipe( ofType<GetOrder>(ActionTypes.GetOrder), withLatestFrom(this.store.pipe(s...... 展开详请

如何重新编译glibc以支持较旧的内核版本?

对于非x86体系结构,必须使用glibc 2.23或更早版本,对于x86体系结构,必须使用glibc 2.25或更早版本。使用更高版本需要大量移植工作,因为旧内核的支持代码已经消失。

扫码关注云+社区