问题标签 [thinking-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 投票
3 回答
4549 浏览

ruby-on-rails - 使用 Rails 2.3.5 运行 Thinking Sphinx 时出现问题

我刚刚安装了 Sphinx(发行版:archlinux)下载源代码。然后我为 Rails 安装了“Thinking Sphinx”插件。

我遵循了官方页面设置Ryan Bates 的这个截屏视频,但是当我尝试索引模型时,它给了我这个错误:

我尝试手动启动守护进程(/usr/bin/sphinx-searchd),更改 config/sphinx.yml 文件:

但它显示了同样的错误,有什么想法吗?

0 投票
1 回答
279 浏览

ruby-on-rails - 思考狮身人面像,has_one 关联

请任何人帮助我进行 Thinking_sphinx 配置。我有表 profile1,其中有一个 profile2 和 profile3。所以我只需要索引它们,但我不能。我试过了

我做错了什么?谢谢。

0 投票
1 回答
547 浏览

ruby-on-rails - 思考狮身人面像,复杂排序 - 我如何将扩展排序与 expr 排序结合起来?

我想按表达式排序,然后按某个属性升序,然后按另一个属性升序。像这样的东西::order => "(a < some constant) desc, b asc, c asc"。如何得到它?

扩展排序由于<. 由于逗号,Expr 失败。

我已经设法产生:order => "(a < some constant) desc, b desc"与 with等效的排序:order => "(a < some constant)", :sort_mode => :expr, :sort_by => :b,但我不能c向该排序添加另一个属性 (),也不能将排序模式更改为basc。

0 投票
1 回答
553 浏览

mysql - 是否可以在动态条件下使用 Sphinx 搜索?

在我的网络应用程序中,我需要在items具有以下条件的表上执行 3 种类型的搜索:

  1. items.is_public = 1(使用title字段进行索引) - 可以检索到很多结果(基数比其他情况高得多)

  2. items.category_id = {X}(使用title+private_notes字段进行索引) - 通常少于 100 个结果

  3. items.user_id = {X}(使用title+private_notes字段进行索引) - 通常少于 100 个结果

我找不到让 Sphinx 在所有这些情况下都能正常工作的方法,但在第一种情况下效果很好。我是否应该仅在第一种情况下使用 Sphinx 并在 MySQL 中使用普通的旧“慢”全文搜索(至少因为 2-3 种情况下的基数较低)?

还是只有我和斯芬克斯几乎可以做所有事情?

0 投票
2 回答
256 浏览

mysql - 如何将文本搜索限制在数据库的某个子集?

我有一个包含大约 100 万条重记录的大型中央数据库。在我的应用程序中,对于每个用户,我都会有来自中央表的行子集,这将非常小(每个可能有 100 条记录)。当特定用户登录时,我只想搜索这个数据集。例子:

假设我有一个世界上所有汽车的中央数据库。我有通用汽车(GM),法拉利等的用户资料。当通用汽车登录时,我只想搜索(全文搜索而不是触发 sql 查询)那些由通用汽车制造的汽车。此外,GM 可能会启动/撤回模型,在这种情况下,中央数据库将被更新,因此与 GM 关联的行集也将被更新。在收购的情况下,某些配置文件的数据库可能会在没有推出/拆除新车的情况下发生变化。所以中央数据库不会改变,但行集可能。

实现这种设计的最佳方法是什么?这些较小的行集需要是动态的,具体取决于用户活动。

我们在 Rails 2.3.5 上,使用 thinking_sphinx 作为连接器,使用 Sphinx/MySQL 进行搜索和关系关联。

0 投票
3 回答
2553 浏览

ruby-on-rails - 用日期范围思考狮身人面像

我正在为我的 Rails 应用程序实现一个全文搜索 API,到目前为止,Thinking Sphinx 取得了巨大的成功。

我现在想实现日期范围搜索,并不断收到“范围错误”错误。

这是控制器代码的片段,我有点不知道下一步该做什么。

当我查看日志时,我看到这一位似乎暗示日期尚未转换为与 Time.now.utc 相同的时间格式。

有任何想法吗?基本上,我试图让 API 请求在“自”日期传递,以查看某个日期之后的所有帖子。我指定日期应为 YYYY-MM-DD 格式。

谢谢你的帮助。克里斯

编辑: 我刚刚将日期参数合并语句更改为此

@search_options.merge!(:with => {:post_date => d.to_date..DateTime.now})

现在我得到这个错误

2010 年 5 月 25 日星期二的未定义方法“to_i”:日期

所以显然有些东西仍然没有设置正确......

0 投票
1 回答
1316 浏览

mysql - 思考狮身人面像不按“相关性”的顺序呈现结果

Thinking sphinx 文档说它会根据相关性自动对结果进行排序。它的相关性指标是什么?我们如何为系统定义我们自己的相关性指标?

示例:我有一个数据库,其中一个条目是 Windows XP,它包含对 Microsoft 的引用。我也有一个 Microsoft 本身的条目。因此,当我查询 Microsoft 时,我应该先获得 Microsoft 结果,然后再获得 XP 结果。但我首先得到 XP 结果,然后是 Microsoft。

任何帮助将不胜感激。:)

0 投票
1 回答
414 浏览

ruby-on-rails - 思考狮身人面像和缺乏更新的记录

我们正在服务器集群中的一个实用程序实例上运行 Thinking sphinx。它每分钟重新运行一次索引。但是,如果您对记录进行更改,它会从搜索结果中消失,直到索引更新(最多 1 分钟)。

Thinking Sphinx 是否只返回 update_at 时间少于其最后一个索引的行?

如果是这样,我如何获得数据库更改以更新实用程序实例上的 TS?

0 投票
1 回答
370 浏览

sphinx - 找不到 sphinx.yml 文件

我正在使用 mysql 作为数据库方案运行 rails 2.2.3,并将 sphinx 作为插件安装。我有两个问题:

1) 我找不到文件 confing/sphinx.yml。我只有一个 config/development.sphinx.conf 2) 我已经从模型的 define_index 方法中指定了 min_infix_len 和 enable_start 属性。我还检查了 development.sphinx.conf 文件,并且这些属性在那里正确设置。但我没有得到任何中缀搜索结果。

请帮忙。

0 投票
1 回答
226 浏览

indexing - Thinking Sphinx - 即使使用了增量索引也显示误报

这可能与 Sphinx 而不是 Thinking Sphinx 有关。

我正在使用增量索引。

  1. 假设一条记录的文本字段包含单词“foo”
  2. 完整索引已完成
  3. 从记录中删除单词“foo”
  4. 增量索引已完成
  5. 搜索“富”
  6. 上面的记录即使不包含单词 'foo' 也会返回
  7. 预期结果:不应返回以上记录。

如果增量索引中存在相同的记录,我不确定这是否是配置问题,告诉 sphinx 忽略主索引中的记录。

更新:有人可以对此做出回应吗?