问题标签 [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 投票
1 回答
4279 浏览

ruby-on-rails - 如何为thinking-sphinx搜索添加条件?

我最近在我的 ruby​​ on rails 应用程序上安装了thinking-sphinx。乍一看,一切都很好,我可以搜索单词,它会找到它们。现在,当我尝试使用以下方法添加一些过滤器(例如,省份、类别等)时:

MyModel.search 'hello' :conditions => 'category_id=1'例如,它会抛出以下异常:

searchd 错误(状态:1):无效或被截断的请求

我一直在阅读有关thinking-sphinx 插件的一些文档,我想我必须做一些除此语法之外的事情。

总结一下:到目前为止,我只是安装了windows服务,然后我在一个模型中定义了一个索引,然后我尝试搜索。同样,我在无条件搜索时成功,但在搜索时失败。

任何帮助将不胜感激。

谢谢,布赖恩

0 投票
1 回答
967 浏览

ruby-on-rails - Sphinx - 何时对字段使用“has”和“indexes”

几天前,我在我的 ruby​​ on rails 2.3.2 上安装了 Sphinx 和 Thinking-Sphinx,基本搜索效果很好。这意味着,没有任何条件。现在,我想用一些条件过滤搜索。

我有 Announcement 模型,索引如下所示:

也许我错了,但我注意到只有当我将:sortable => true语法添加到这些属性时,我才能将它们用作搜索条件。否则它什么也找不到。

现在,我也在使用acts_as_taggable_on 插件,它生成了我的两个数据库表:标签和标签。我没有标签模型,我只有acts_as_taggable_on :tags, :categoriesAnnouncements 模型。

我现在想做的是按标签过滤。所以,我尝试添加到我的索引 has tags(:id), :as => :tag_ids中,indexes tags(:id), :as => :tag_ids但没有成功。

如何构建索引,以便可以执行以下操作:

而且,这是和之间的has区别indexes

谢谢,布赖恩

0 投票
4 回答
587 浏览

sql - 在 Rails 中需要 SQL 连接方面的帮助

我有一个表博客通过 user_id 属于用户。

我正在使用thinking sphinx 来索引博客,但我只希望它索引用户当前处于活动状态的博客(user.status = User::ACTIVE)。

我有以下用于创建索引的代码,但我知道“where”子句是错误的。应该是什么?

更新:据我所知, where 方法只是将 SQL 代码传递给数据库引擎。看起来这应该可以通过传入 JOIN 的代码来实现,但我不知道有什么足够的 SQL 来自己创建一个 JOIN 语句。

第二次更新:使用 SQL 似乎 JOIn 必须在 WHERE 之前进行,因此使用 SQL 代码是不可能的,除非有人知道得更好。

0 投票
2 回答
521 浏览

ruby-on-rails - 用于 Rails 的 Webfaction 上的 Sphinx

我希望在webfaction的基本共享托管计划中安装Sphinxthinking_sphinx ,以便我可以正确部署我的 rails 应用程序。我很肯定网络派在我的计划下支持这一点。就技能水平而言,我并不接近 linux 大师,但我知道基础知识。

如何在没有 sudo 权限的情况下在我的共享主机上安装 Sphinx?

0 投票
3 回答
2677 浏览

ruby-on-rails - Thinking Sphinx 和acts_as_taggable_on 插件

我在 rails 2.3.2 上为 ruby​​ 安装了 Sphinx 和 Thinking Sphinx。

当我没有条件搜索时,搜索工作正常。现在,我想做的是按标签过滤,所以,当我使用acts_as_taggable_on插件时,我的公告模型如下所示:

出于某种原因,当我运行以下命令时,它只会带来一个公告,这与我的预期无关。我有很多公告,所以我期待很多结果。

Announcement.search params[:announcement][:search].to_s, :with => {:tag_ids => 1}, :page => params[:page], :per_page => 10

我猜出了点问题,它没有正确搜索。

谁能告诉我发生了什么?

谢谢,布赖恩

0 投票
1 回答
1514 浏览

ruby-on-rails - Thinking Sphinx - 搜索过滤器不起作用

我在 ruby​​-on-rails 2.3.2 和 Windows 7 电脑上安装了 Sphinx 和 Thinking Sphinx。

首先,如果我运行 rake ts:start,它根本不会启动。它一直说“开始......”,它永远不会开始。即使,简单的搜索(没有过滤也没有条件)工作正常。当我尝试添加过滤器时,它不会返回任何记录。

我的模型如下所示:

我正在这样搜索:

基于 Thinking Sphinx 拥有的所有优秀文档以及我读过的所有关于它的帖子,我无法理解我做错了什么。

我只是想澄清一下,在我修改索引后,我运行 rake ts:index, ts:config 命令,然后我重新启动 searchd windows 服务以防万一,所以应用程序,只是为了确保一切都被刷新。

提前致谢,

布赖恩

0 投票
3 回答
981 浏览

ruby-on-rails - 在 sphinx 中将布尔字段索引为字符串

我有一个 Ruby on Rails 站点,它使用 Thinking sphinx 来搜索 postgres 数据库。

我正在搜索的表中的一个字段是布尔值。当搜索查询中使用某个关键字时,我希望能够匹配该布尔值。

用一个例子来充分说明:
我的网站是为那些开发自己的黑白电影的人准备的。
我有一张食谱表,人们在上面描述他们如何开发电影。该表有一个名为“stand_ Developed”的布尔列(一种显影胶片的方法)。
当用户搜索“stand”一词时,我想返回该字段为真的结果。

我已经浏览了sphinx 文档,但如果可能的话,我并没有真正找到。

我想我可以通过解析查询术语并添加条件来破解我的控制器方法中的某些内容,但是有没有更简洁的方法呢?

0 投票
1 回答
889 浏览

ruby - 忽略 sphinx 索引中的撇号

在我的 sphinx 配置文件中,我有以下内容:

(charset_table 条目来自这里:http ://speeple.com/unicode-maps.txt )

预期的结果是查询kyles将返回匹配kyles和/或的所有记录kyle's,因为我告诉 sphinx 从索引 (ab'cd -> abcd) 中排除 ' (单引号/apos)。然而,在实践中,这并没有发生。

0 投票
1 回答
1044 浏览

sphinx - Sphinx 在 cap 部署期间无法启动,我做错了什么?

在将 Rails 应用程序部署到我的 VPS 后,我正在努力让 Sphinx 恢复并运行。

具体来说,我抛出了这个错误:

** [out :: myapp.com] => 混入锁定版本:1.6.4
** [out :: myapp.com]
** [out :: myapp.com] 无法启动 searchd 守护进程。检查 /var/www/myapp/releases/20100227224936/log/searchd.log。
** [out :: myapp.com] 无法启动 searchd 守护进程。检查 /var/www/myapp/releases/20100227224936/log/searchd.log

但是,不会创建日志文件!

这是我正在使用的 deploy.rb(感谢 Updrift :))

我正在使用 Thinking Sphinx gem,v 1.3.16,passenger 2.2.10。您的任何想法将不胜感激。

非常感谢!

格雷格

更新:除了一些更多的谷歌搜索,我发现其他几个人有类似的错误 - 似乎与端口监听错误有关,例如这里和 [我不允许链接到另一个]。我的 production.sphinx.conf 同样使用了端口 9312,尽管我在 sphinx.yml 中指定使用 3312。

有谁知道可能是什么原因造成的?谢谢。

0 投票
1 回答
194 浏览

mysql - 思考 sphinx/mysql 进行非文本搜索

如果我有一个具有类别(外键)和可选文本的搜索,我是否应该使用 Thinking sphinx 来“搜索”未提交搜索字符串的地方,仅提交类别?