思考狮身人面像(v4.4) - 在索引定义中包含条件后索引时出错'where'



思考狮身人面像宝石版本-4.4.1狮身人面像版本-3.3.1

我得到

错误:索引"article_core":架构中没有全文字段,没有要索引的内容!

在索引定义中包含where条件后进行索引。

以下的索引定义

ThinkingSphinx::Index.define :article, :with => :active_record do
indexes title
# where "text = 'Past Simple'" # type of text column is text: rebuild successful
# where "id > 1" # type of id column is int: rebuild successful
where "photo = 'photo'" # type of photo column is String : rebuild fails
end
  1. 当我们在字符串列的索引
    定义中使用where条件时,就会出现问题(字符变化(
  2. 当我们将where条件应用于其他数据类型时,不会出现此问题
  3. 错误语句为"error:index"article_core":架构中没有全文字段,什么都没有索引!'

我想知道您是否使用PostgreSQL作为应用程序数据库?也许你没有任何符合where条件的文章?Sphinx3.x版本中存在一个问题,即空索引在索引时会引发错误(上周才发布的v3.3.1中似乎没有解决这个问题(。

我已经向狮身人面像团队提出了这个问题,但到目前为止还没有任何回应。

如果你真的想使用SQL支持的索引,恐怕你必须降级到Sphinx 2.2.11,或者考虑切换到Manticore(Sphinx的一个没有这个问题的分支(。或者,您可以使用实时索引,它可以很好地与Sphinxv3配合使用。如果是这样,您可以在索引中使用scope方法来限制结果:

ThinkingSphinx::Index.define :article, :with => :real_time do
indexes title
scope { Article.where(:photo => "photo") }
end

相关内容

  • 没有找到相关文章

最新更新