タイヤを介したElasticsearchは私にとってはうまく機能しています。コードで直面している問題に関する提案が必要でした。
mapping do
indexes :id, :index => :not_analyzed
indexes :locality
end
これは私のマッピングの一部です. locality は、次のように定義されているモデルのメソッドに対応します
def locality
self.locality.name
end
モデルさんも
belongs_to :locality
したがって、呼び出されたメソッドが無限ループに陥ることがわかります。回避したいフロントエンドの対応する変更により、マッピングで名前のローカリティを変更できないという制限があります。1 つの代替方法は、次を与える Locality モデルでメソッドを定義することです。
def locality_name
self.name
end
to_indexed_json に locality_name メソッドを含めようとし、この方法でマッピングしようとしましたが失敗しました。
mapping do
indexes :id, :index => :not_analyzed
indexes :locality do
indexes :locality_name
end
end
モデル Locality を変更せずに、結果で locality の名前を「locality」としてインデックス付けする必要があります。