思考狮身人面像宝石版本-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
- 当我们在字符串列的索引
定义中使用where条件时,就会出现问题(字符变化( - 当我们将where条件应用于其他数据类型时,不会出现此问题
- 错误语句为"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