通过轮胎进行弹性搜索对我来说效果很好。我想要一个关于我在代码中遇到的问题的建议。
mapping do
indexes :id, :index => :not_analyzed
indexes :locality
end
这是我的映射的一部分。locality 对应于模型中定义为的方法
def locality
self.locality.name
end
该模型还
belongs_to :locality
所以,你可以观察到被调用的方法会陷入死循环。我有一个限制,由于我们想要避免的前端的相应更改,我无法更改映射中的名称位置。一种替代方法是在 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”。