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

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

选择标准:

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

有什么好的建议?

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

pyjplpyjpl提问于
杀马特回答于

您可以使用基本的标准,或者发明自己的接口来获得最大的搜索质量。它还可以直接从数据库获取数据。

你可以编译和安装它,或者在独立的服务器上,甚至在主服务器上,它不需要像Solr那样多的重新源,因为它是用C编写的,甚至在小型服务器上运行也很完美。

回答过的其他问题

pytest的文件夹结构和导入问题?

test_funcs.py必须从模块所在的目录运行测试文件才能funcs导入成功。 作为一种变通方法,您可以修改sys.path,这决定了互操作者对模块的搜索路径。 test_funcs.py: import sys sys.path.append('/Users/Yahya/...... 展开详请

重新排列JSON数据以将id添加到嵌套对象

只需在id内部循环中添加var 和increment。 const jsonData = { "Jonas": { "position": "CTO", "employees": [{ "Sophie": { "posi...... 展开详请

Python 3:二进制搜索树无法设置节点

已采纳
在尽可能少地更改代码之后,我想我已经设法让它运行起来。 from pprint import pprint # For debugging class Binary_Search_Tree: class __BST_Node: def __init_...... 展开详请

请问如何删除已经创建的应用?

如何连接插座?

import 'package:web_socket_channel/io.dart'; import 'package:web_socket_channel/status.dart' as status; main() async { var channel = aw...... 展开详请

如何在我的Android应用程序中以编程方式复制文本?

这样试试: int sdk = android.os.Build.VERSION.SDK_INT; if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) { android.text.ClipboardManager cl...... 展开详请

扫码关注云+社区