问题标签 [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.

0 投票
6 回答
2111 浏览

xapian - 我真的很想在一个项目中使用 Xapian,但是对于我来说,我无法弄清楚如何在 Windows 上安装它!

如果这是在 linux 机器上,我会被设置,但是明显缺乏文档!

我想将它与 c# 和 omega 索引应用程序一起使用。

似乎没有任何关于如何在 Windows 上实际构建 xapian 和 omega 的文档(或者,可以正常工作的预编译二进制文件)。

0 投票
3 回答
2617 浏览

mysql - 全文搜索 django:Mysql 还不错?(与狮身人面像,xapian)

我正在研究 django 的全文搜索引擎。它必须安装简单,快速索引,快速索引更新,索引时不阻塞,快速搜索。

在阅读了许多网页之后,我列出了简短的列表:Mysql MYISAM fulltext、djapian/python-xapian 和 django-sphinx 我没有选择 lucene,因为它看起来很复杂,也没有选择 haystack,因为它的功能比 djapian/django-spĥinx 少(像字段加权)。

然后我做了一些基准测试,为此,我在网上收集了许多免费书籍,生成了一个包含 1 485 000 条记录(id、title、body)的数据库表,每条记录大约 600 字节长。从数据库中,我还生成了一个包含 100 000 个现有单词的列表,并将它们打乱以创建一个搜索列表。对于测试,我在我的笔记本电脑上运行了 2 次(4Go RAM,双核 2.0Ghz):第一次,在服务器重新启动以清除所有缓存后,第二次在之后完成,以测试缓存结果有多好. 以下是“自制”基准测试结果:

如您所见,Mysql 对于全文搜索来说并没有那么糟糕。此外,它的查询缓存非常高效。

Mysql 对我来说似乎是一个不错的选择,因为无需安装任何东西(我只需要编写一个小脚本来将 Innodb 生产表同步到 MyISAM 搜索表),而且我真的不需要像词干提取等高级搜索功能......

这是一个问题:您如何看待 Mysql 全文搜索引擎与 sphinx 和 xapian?

0 投票
1 回答
653 浏览

python - 如何让 django 测试框架从实时数据库中读取?

我意识到这里有一个类似的问题,但是这个问题有不同的方法:我有一个 django 应用程序,它对使用djapian索引的数据进行查询;我想为这个应用程序的搜索组件编写单元测试,显然,我需要 django 设置模块和所有与数据库的连接都处于活动状态,因此 django 提供的测试运行器似乎很理想。但是,django 测试框架创建了一个虚拟数据库,我不想将我的所有数据转储到一个夹具然后索引它(测试将永远花费!);

我的数据没有风险,因为测试只会从数据库中读取,那么,如何实现呢?-我是整个单元测试的新手,所以我在类似问题中读到的编写新测试运行器的解决方案并没有给我一点启发,至少在没有一些细节的情况下不会

0 投票
1 回答
1294 浏览

python - 我已经通过 macports 安装了 xapian,为什么这个 python 应用程序告诉我需要安装 xapian?

我正在尝试在我的系统上运行 python 应用程序。当我尝试执行它时,我得到一个回溯,它以我需要安装 Xapian 结尾。所以我继续使用 macports 安装了 xapian-core 和 xapian-bindings。然后我尝试再次运行 python 应用程序,但得到了相同的回溯。关于我接下来应该做什么的任何想法?我需要安装某种额外的 xapian-python 东西吗?这种事情对我来说是全新的。

我正在使用 Mac OS 10.6.3、Python 2.6.5 和 Django 1.2.1

这是我得到的回溯的最后几行:

0 投票
1 回答
1183 浏览

django - Django + Haystack 如何进行此搜索

我是 Haystack 和搜索世界的新手,所以我不知道如何问这个问题。

我想要实现的是以下。

有一个搜索查询,如:一二

我想退回任何内容,例如:

  • 这个
  • 二一
  • 这里有东西

Haystack + solr/xapian 有可能吗?是否也可能对结果有相关性?在两个词都被击中的情况下,这将给我更多的相关性。

我目前在我的视图中使用 SearchQuerySet 但无法实现。

干杯

0 投票
1 回答
685 浏览

autocomplete - xapian 自动完成

有没有人使用过 Xapian 来实现自动完成/自动建议功能?即在用户键入又名谷歌的自动建议时提供可能的建议集。

我有大约 200 万个短语,我正在考虑使用 Xapian 作为搜索框架。据我了解,这个框架不是为这种功能而构建的。所以我想在深入研究之前知道一些事情 -

  1. 如果有人对此进行了尝试,那么遇到的问题是什么?
  2. 这是构建这样的东西的正确框架吗?
  3. 如果我采取了完全错误的方法或错误的框架,那么请提出替代方案。
0 投票
1 回答
228 浏览

mysql - 使用 Solr 等搜索短字段或使用直接数据库索引

我的网站存储了数百万个实体。访问者通过键​​入仅包含在标题中的单词来搜索实体。标题最多为 100 个字符

这不是经典文档搜索的情况,用户在大块内搜索。字段非常短。此外,这里的主要问题是性能(而不是相关性),因为实体是“在您键入时”提供的(自动建议)。

更智能的路线是什么?

  • 创建一个 MySql 表 [word, entity_id],将 'word' 编入索引,然后使用
    select entity_id from search_index where word like '[query_word]%进行查询
    这显然需要我将每个标题分解为其单词并为每个单词添加一行单词。
  • 使用 Solr 或一些类似的搜索引擎,从我的阅读来看,它更倾向于全文搜索。

另外,如果我以后想介绍拼写建议,这对我有什么影响。

谢谢!

0 投票
1 回答
759 浏览

python - xapian-bindings python 兼容性

我能够让 xapian 在我的开发服务器上使用 python 按预期工作,但我的 Web 服务器出现问题。

我一直遇到这个错误:

导入 xapian Traceback(最近一次调用最后):文件“”,第 1 行,在文件“/home/x/lib/python2.6/xapian/init .py ”中,第 28 行,在 _xapian = swig_import_helper() 文件中“/ home/x/lib/python2.6/xapian/ init .py",第 27 行,在 swig_import_helper 中返回 _mod UnboundLocalError:在赋值之前引用了局部变量 '_mod'

我安装了最新的 swig 副本并重新安装了 xapian core 和 xapian-bindings,但错误仍然存​​在。

任何想法都非常感谢。

0 投票
1 回答
235 浏览

python - 使用 djapian 搜索 int 值的范围

我正在使用 djapian 作为我的搜索后端,并且我正在寻找一系列值。例如:

将搜索具有 0 到 10 条评论的帖子。我找不到在 djapian 中执行此操作的方法,尽管我发现了这个问题,并打了补丁来实现某种日期范围搜索。我还从描述某种范围查询的 xapian 官方文档中找到了这个页面。但是,我缺乏制定自己的原始 xapian 查询和/或将原始 xapian 查询输入 djapian 的知识。所以请帮帮我,我如何查询 djapian 索引以获取一系列 int 值。

谢谢,

劳里

0 投票
1 回答
357 浏览

django - Django-haystack 使用rebuild_index 命令给出错误:

我收到此错误:

xapian.WritableDatabase_swiginit(self,_xapian.new_WritableDatabase(*args)) xapian.DatabaseOpeningError: /home/xapian/mysite_index: 未列出数据库

运行“./manage.py rebuild_index”时,我可以第一次填充我的索引。我确实收到了重建索引的警告消息和确认,然后我看到了一个信息列表,最后一行是上述内容。

任何帮助将不胜感激。谢谢