问题标签 [xapian]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 使用 Djapian 定义组合两个表的索引
我有以下餐厅和评论模型。我正在对 Restaurant 模型的某些字段进行全文搜索,如下面的 RestaurantIndexer 类所示。如何进行包含评论的全文搜索(即搜索返回 Restaurant 实例,查询包含在 RestaurantIndexer 中定义的一个或某些字段或 Comment 实例的评论字段中)?
*********餐厅模特***************
*********评论型号***************
*********餐厅索引器***************
python - Django Haystack 精确过滤
我有一个干草堆搜索,它具有以下 SearchIndex:
如果我想搜索过滤掉任何不是“健康”的程序,我运行以下查询:
不幸的是,这也会从程序“Health\Other”和“Health\Cardiovascular”中生成对象。如何阻止搜索允许其他程序进入?
我使用 Xapian 作为搜索后端运行 Ubuntu 9.10。
django - xapian 和 django-haystack
我对 django-haystack 有疑问。根据本教程,我得到了这个应用程序:django-haystack xapian-haystack
我设置了所有内容,但出现此错误:django.core.exceptions.ImproperlyConfigured: 'xapian' 不是可用的搜索后端。可用选项有:'dummy'、'solr'、'whoosh'
为什么 xapian 不可用?谢谢你的帮助。
solr - ElasticSearch、Sphinx、Lucene、Solr、Xapian。哪个适合哪个用途?
我目前正在寻找其他搜索方法,而不是使用庞大的 SQL 查询。我最近看到了elasticsearch,并且玩过whoosh(搜索引擎的 Python 实现)。
你能给出你选择的理由吗?
django - haystack 的 RealTimeSearchIndex 导致 django 挂在数据输入上
我正在使用 django-haystack 和带有模型数据实时索引 ( haystack.indexes.RealTimeSearchIndexing
) 的 xapian 后端,它在我的 Ubuntu 服务器上运行良好。但是,当我在 RHEL5 服务器上部署应用程序时,它会导致 django 挂起数据输入。
如果我切换到标准,一切都会变得很糟糕SearchIndex
。
手动运行./manage.py rebuild_index
也很好。
两种设置之间的主要区别在于 Python(2.4.3 与 2.6.4)和 xapian(1.0.4-1 与 1.0.15)的版本。
关于可能是什么问题的任何建议?
日志中没有出现任何有趣的内容,我尝试了不同的数据库(mysql、sqlite3)和部署方法(mod_python、wsgi),但还没有运气。
我已经注意到 haystack 文档上的警告,指出RealTimeSearchIndex
只能通过 Solr 后端优雅地处理,但是我正在运行一个非常低流量的站点,只有偶尔写入,所以我对写入时的一些 CPU 开销很好。
django - 真正有效的 Django 搜索引擎解决方案?
到目前为止的故事:
决定使用 Xapian 作为搜索后端,因为它具有我正在寻找的所有搜索引擎功能,了解 Unicode,词干提取,几乎没有依赖项,并且不需要在其上安装臃肿的应用程序服务器。
尝试了 Django 和 Haystack(加上 xapian-haystack,将 Haystack 与 Xapian 联系起来的后端胶水代码),因为它在相当多的博客上被宣传为“工作”。不工作。django-haystack 和 xapian-haystack 项目都没有提供实际协同工作的版本组合。两个项目的 MASTER 都会从 Xapian 产生错误,因此它根本不稳定。Haystack 1.0.1 和 xapian-haystack 1.0.x/1.1.0 不兼容 API。另外,在 Haystack 1.0.1 和 xapian-haystack MASTER 的最低工作安装中,由于 django-haystack 或 xapian-haystack 中的错误(我对此进行了双重验证),任何复杂的查询都会产生零结果,可能是因为单元测试实际上测试非常简单的情况,根本没有边缘情况。
试过Djapian。源代码充满了拼写错误(请注意,在变量名中,而不是注释),文档也充满了歧义和过时的信息,这些信息永远不会导致工作安装。毫不奇怪,用户很少要求功能,而是首先要如何使其工作。
接下来是:探索 Solr(安装 Java 环境和 Tomcat 让我头疼,这台机器受 RAM 和 CPU 限制)或 Lucene(稍微不那么头疼,但仍然如此)。
在我继续花更多时间研究可能会或可能不会像宣传的那样有效的解决方案之前,我想知道:有没有人在 Django 中获得过实际的、真实的搜索解决方案?我是认真的。我发现阅读“大部分已解决的大问题”真的很令人沮丧,然后意识到您永远无法从源代码中获得有效的安装,因为实际上,所有处理这些“大部分已解决的问题”的博主都没有通过基本安装和复制粘贴官方教程。
所以这里是要求:
- 必须能够在一次查询中搜索 10-100 个字词
- 必须处理 +(术语必须存在)和 -(术语不能存在),AND/OR
- 必须处理任意分组(即 AND/OR 周围的括号)
- 必须允许在全文搜索之前或之后进行 Django-ORM 过滤(即使用 Django 知道的全套过滤器对结果进行预处理/后处理)
- 或者,必须有一个工具来批量获取结果集并将其转换为 QuerySet
- 机器上应该很轻,所以最好不要安装大量的 JVM 和基于 Java 的应用服务器
有什么东西可以做到这一点吗?我对轶事证据或对一些声称它应该有效的博客文章的引用不感兴趣。我想听听有人在现实世界中,在真实条件下,通过真实查询实际拥有完整功能的设置。
编辑:
让我再重复一遍,我对有人在某个地方有一个正在运行的安装使用未指定属性的轶事证据不太感兴趣。我已经去过那里,我阅读了所有的博客文章、邮件列表,我联系了作者,但是当涉及到现实世界场景的实际实施时,没有任何东西能像宣传的那样奏效。
此外,下面的一位用户也提出了这一点,考虑到任何项目的 TCO,我绝对不想听到有人在某个地方能够在供应商空降未知数量的专家后将其拉下来。 - 使用无处记录的特定领域知识修补整个安装。
因此,如果您声称您有一个实际满足完整搜索的最低要求的工作安装(请参阅上面的要求),请提供以下内容,以便我们都能从实际解决问题的 Django 搜索解决方案中受益:
- 确切的 Linux 发行版、发行版、
- Haystack(或同等版本)的确切发布版本和搜索后端的发布版本,
- 搜索引擎的确切发布版本
- 公开 (!) 可用文档如何按照您的安装设置方式完全设置所有组件,以满足上述最低要求。
谢谢你。
search-engine - solr vs xapian:哪一个给你最有意义的结果?
我目前正在使用 whoosh 来开发一个网站,一旦网站投入生产,我将需要选择更强大的东西。
如果你们中的任何一个人都使用了这两种引擎,哪一个给了你最有意义的结果,一个漫长的道路?
ruby - Xapian gem 无法在 Mac OS X Snow Leopard + macports 上安装
我已经在雪豹上安装了带有 macports 的 xapian-core + xapian-bindings,然后尝试安装 xapian gem 失败:
有什么想法吗朋友?
ruby - xapian-full 安装在 mac os x snow leopard 上,但因 dlopen LoadError 而失败
由于我尝试安装 xapian 但失败,我尝试使用 xapian-full 的另一种替代方法。安装似乎很顺利,但是当我尝试使用它编写代码时,我再次收到错误消息:
有谁知道如何解决这个问题?
ruby-on-rails - searchlogic 和其他全文搜索插件有什么区别?
我正在为我的 Rails 应用程序中的全文搜索寻找替代acts_as_solr 或thinkingsphinx 的方法。遇到了searchlogic。它支持索引吗?我计划在 heroku 上托管我的应用程序,我想要一个替代方案,因为 heroku 对 Websolr 收费。我知道使用 texticle 或acts_as_tsearch 的替代方式,但我想使用searchlogic 的功能。