问题标签 [sphinx]

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 投票
2 回答
9050 浏览

php - php mysql全文搜索:lucene,sphinx,还是?

这无疑类似于(但不重复)全文搜索引擎的比较 - Lucene、Sphinx、Postgresql、MySQL?,但是我正在寻找的是具体的、受支持的、受益于多个可用系统的经验的建议(似乎有很多:“我使用过 lucene,但没有使用 sphinx”,反之亦然反之亦然)。

设置:标准 LAMP(Mysql 5.0,PHP 5)。

MySQL:表使用 InnoDB 引擎进行外键约束

我们正在查看索引数据,而不是页面。要索引的数据可以是多种语言(utf-8 字符集)

我遇到的一些比较(如http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/)要么不完全适用(ferret 是一个 lucene 端口,但不是与 Zend_Search_Lucene 相同)或者他们正在推动他们自己的系统/实现(并非完全无偏见)。

我遇到的其他一些(例如http://whatstheplot.com/blog/tag/lucene/http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first -impressions/ ) 为两个系统的性能提供了非常不同的结果。

此外,在我读过的大部分内容中几乎被忽略的是Xapian。这也值得考虑吗?

所以......我希望你们中的一些人对这个问题有一些经验,可以帮助提出一些建议或为我指明正确的方向。

0 投票
2 回答
7354 浏览

delphi - 使用 Firebird 和 Delphi 进行全文搜索

我正在考虑在我们的 Firebird 数据库上实现全文搜索。我们的要求是:

  1. 几个表中的每个字段都应该被索引。当找到结果时,我们应该能够找出原始表。
  2. 索引可以存储在数据库或文件系统中。
  3. 必须使用搜索结果(BigInt 主键)与数据库中的原始记录连接,以显示表中的记录。

任何人都可以推荐一种体面的方式来实现我们所需要的吗?我已经研究过以某种方式将 DotLucence 集成到 Delphi 中,但实际上并没有找到很多关于如何去做的信息。

0 投票
1 回答
352 浏览

ruby-on-rails - 使用 Thinking Sphinx 指定不同的列作为 DOC ID

我正在使用出色的Thinking Sphinx插件来访问 RoR 2.2.3 中的 Sphinx 搜索。我有一个存储预编译视图的缓存表。这是 Sphinx 的源数据表。

但是,这张表上的ID列基本上是垃圾,而我想要的ID存储在另一列(cacheable_id)中。如何设置 Thinking Sphinx 以使用“其他列”作为 Sphinx 的 DOC ID 而不是普通的旧“ID”列。

提前致谢!!

0 投票
2 回答
1793 浏览

ruby-on-rails - Sphinx 排序:最后是 nil/NULL 值

在 Rails 项目中,我将 Sphinx 与 Thinking Sphinx 插件一起使用。我索引一个带有属性 :foo 的表,它是一个浮点数。

对列 :foo 进行排序时,我想要的行为是 nil 值总是出现在列表的末尾,例如

如果它是普通的 sql,我会排序:

但这似乎是不可能的,因为我认为 NULL 值被转换为 0(这是真的吗?)。使用 sphinx 排序表达式似乎无法正确排序我的浮点数。

有没有人解决了这个问题或知道如何解决这个问题?

0 投票
3 回答
1764 浏览

ruby-on-rails - Sphinx中的重音不敏感排序

我正在使用 Sphinx 和 Thinking Sphinx 插件来搜索我的数据。我正在使用 MySQL。

我的数据包含重音字符(“á”、“é”、“ã”),我希望它们在搜索时与非重音字符(例如“a”、“e”、“a”)等效订购。

我使用字符集表 (pastie.org/204316) 进行了搜索,搜索“AGUA”返回“ÁGUA”,但结果的排序无法正常工作。例如,在搜索“AGUA”时,“ÁGUA”出现在“MUITA ÁGUA”之后,但我希望它被排序为好像它是用“A”而不是“Á”编写的。

我能想到的唯一解决方案是索引一个包含非重音字符的新列并将其用于排序,使用 REPLACE (http://dev.mysql.com/doc/refman/5.4/en/string-functions.html #function_replace ) mysql 函数来去除重音字符,但我需要为每个可能的重音字符(并且有很多)调用一次 REPLACE,在我看来,这似乎不是一个非常可维护的解决方法。

有人知道一些更好的方法来处理这个问题吗?

谢谢!

0 投票
1 回答
362 浏览

mysql - sphinx 的性能比 MySQL 默认全文搜索高多少?

当数据量很大时,MySQL 的默认全文搜索很糟糕。

所以我指望狮身人面像摆脱麻烦。

是否有可用的基准数据来比较这两种搜索?

0 投票
2 回答
349 浏览

php - re-indexing a search engine every few minutes

I'm running a search service on my development computer, and I have to run an indexer (.exe file) and restart a service every 1-5 minutes (I'm using sphinx search). How would I go about doing this in Windows? My thought is to run a batch file through windows task scheduler, but what do you do?

0 投票
1 回答
717 浏览

ruby-on-rails - 狮身人面像搜索相关 has_many 与thinkingsphinx

假设,我有一个属于建筑模型的房间模型。Buildings 与类别具有 has_many 关系。

我试图弄清楚如何索引 Room 模型,以便搜索 category_id = 1 将返回任何房间,在任何恰好分配了该类别的建筑物中。同样,建筑物可以有多个类别。

谢谢!

0 投票
8 回答
16171 浏览

ruby-on-rails - 使用 Rails 进行全文搜索

我一直在寻找 Rails 的插件/宝石。大多数文章将 Ferret (Lucene) 与 Ultrasphinx 或可能的 Thinking Sphinx 进行了比较,但没有一篇文章提到SearchLogic。有没有人知道这个比较如何?你用什么,它的表现如何?

0 投票
1 回答
2943 浏览

django - Django-sphinx 使用属性过滤结果?

我正在浏览 django-sphinx文档,看起来它允许您使用属性过滤搜索结果,

从一些示例中,这些属性似乎是您在 sphinx 配置文件中指定的内容,而不是表中的实际列值。配置文件允许这样的事情,

但事实证明,您只能将外键指定为该值。如另一个例子所示

打印搜索结果时,您会得到,

如您所见,在 attrs - state_id 和 country_id - 作为 FK 中,出现了。但列表没有。

这就是我的问题。如果我想在我的模型中使用任意列 foo 过滤我的 sphinx 搜索结果 - 我该怎么做?

谢谢!


编辑

在回答范盖尔时,

我实际上在这里使用 sql_attr_uint 而不是 sql_group_column .. 正如我在上面的示例中提到的.. 即使是 Django Sphinx 的作者的示例(上面给出的链接)也没有显示 _Sphinx 字典中的属性,如果它不是FK..(请参阅上面的“如您所见”声明)。另外,我也已经有了 SQL_Query 字符串..它选择了我表中的所有列..(单独,不是 *)