我正在使用 neo4j 作为我的 Ruby on Rails 项目的后端,并且我正在尝试实现一些搜索功能。贝娄是我的模型:
class Entity < Neo4j::Rails::Model
property :name
has_n(:friends).to(Entity)
index :name, :type => :fulltext
end
我创建了以下记录:
Neo4j::Transaction.run do
Entity.destroy_all
tony = Entity.new :name => "Tony Soprano"
paulie = Entity.new :name => "Paulie Gualtieri"
robert = Entity.new :name => "Robert Baccalier"
silvio = Entity.new :name => "Silvio Dante"
tony.friends << paulie << robert << silvio
tony.save
end
最后我的搜索方法是这样的:
def search
terms = params[:q]
render :json => Entity.all(:name => terms, :type => :fulltext)
end
当我运行上述搜索方法时,出现以下错误:no index on field type
我已经阅读了Neo4j-Rails Guides 的全文搜索部分,但我看不出我缺少什么来完成这项工作。我的理解是 :name 属性应该被索引,因为我配置模型的方式。