Ruby on Rails プロジェクトのバックエンドとして neo4j を使用しており、いくつかの検索機能を実装しようとしています。ベローは私のモデルです:
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 ガイドの全文検索セクションを読みましたが、これを機能させるために何が欠けているのかわかりません。私の理解では、モデルを構成した方法のために、 :name プロパティにインデックスを付ける必要があります。