1

注意:这个问题最初适用于Xapian,但由于跨平台问题和对 Xapian 的了解不足,我(我们的团队)选择了Solr

我正在寻找片段、技巧、提示、链接和任何需要注意的东西(陷阱)。我的技术栈包括:

  • MySQL 5.1(不是很相关)
  • 最终部署到 Linux 的 Red Hat 和 Windows 配置
  • 开发主要在我团队的 Windows 机器上完成
  • 我们的配置中没有 PHP 或 Java 支持,因此没有 Solr 或 Django-Sphinx 毕竟使用 Java!

谢谢大家的帮助和洞察力!

4

1 回答 1

4

一些笔记和资源。我的建议主要与 Haystack 有关,因为我没有使用 Xapian 作为后端的经验。

  1. 安装 Xapian(来自 Haystack 文档) - 请注意 Haystack 本身不支持 Xapian:http: //haystacksearch.org/docs/installing_search_engines.html#xapian
  2. 在开发或测试某些东西时使用 Whoosh 可能会有所帮助,但请记住,它并不支持 Xapian 提供的所有功能。如果您尝试将 Whoosh 与它不支持的功能一起使用,Haystack 可以很好地优雅地失败(控制台中的警告),因此在它们之间切换很轻松: http ://haystacksearch.org/docs/installing_search_engines.html #嗖嗖嗖
  3. 我自己在 Whoosh 和 Solr 之间轻松切换的代码片段:

    # Haystack search settings
    HAYSTACK_SITECONF = 'project.search_sites'
    HAYSTACK_INCLUDE_SPELLING = True
    # Haystack backend settings
    HAYSTACK_SEARCH_ENGINE = 'solr' # Switch this to 'whoosh' to use that backend instead
    if DEBUG:
        HAYSTACK_SOLR_URL = 'solr.development.url'
    else:
        HAYSTACK_SOLR_URL = 'solr.production.url'
    HAYSTACK_WHOOSH_PATH = os.path.join(PROJECT_ROOT, 'search_index', 'whoosh')
    
  4. As far as I'm aware your choice of database doesn't make a difference as long as Django supports it since Haystack uses the ORM.
  5. If you run into any trouble, Haystack's developer (Daniel Lindsley) is incredibly helpful and quick to respond. You can get help from him and others in the django-haystack Google group or the #haystack IRC channel (that is, if you don't find an answer in the official docs).
于 2009-11-10T23:35:36.383 回答