Ruby on rails 如何在Rails中存储大型JSON哈希
我正在使用Ruby on rails 如何在Rails中存储大型JSON哈希,ruby-on-rails,ruby,elasticsearch,Ruby On Rails,Ruby,elasticsearch,我正在使用elasticsearch railsgem和elasticsearch模型gem并编写一个查询,这个查询恰好非常庞大,因为gem接受查询的方式 查询本身并不长,但过滤器非常长,我需要传入变量以正确过滤结果。以下是一个例子: def search_for(input, question_id, tag_id) query = { :query => { :filtered => { :query
elasticsearch rails
gem和elasticsearch模型
gem并编写一个查询,这个查询恰好非常庞大,因为gem接受查询的方式
查询本身并不长,但过滤器非常长,我需要传入变量以正确过滤结果。以下是一个例子:
def search_for(input, question_id, tag_id)
query = {
:query => {
:filtered => {
:query => {
:match => {
:content => input
}
},
:filter => {
:bool => {
:must => [
{
# another nested bool with should
},
{
# another nested bool with must for question_id
},
{
# another nested bool with must for tag_id
}
]
}
}
}
}
}
User.search(query) # provided by elasticsearch-model gem
end
为了简洁起见,我省略了其他嵌套bool,但正如您可以想象的,它可以很快变长
有人对如何储存这个有什么想法吗?我正在考虑一个yml文件,但它似乎错了,特别是因为我需要传入question\u id
和tag\u id
。还有其他想法吗
如果有人熟悉这些gem,并且知道gem的
search
方法是否接受其他格式,我也想知道这一点。在我看来,它只是想要一些可以变成散列的东西。我认为使用方法是可以的。我会将搜索与查询分开:
def query_for(input, question_id, tag_id)
query = {
:query => {
...
end
search query_for(input, question_id, tag_id)
另外,我看到这个搜索功能在用户模型中,但我想知道它是否属于用户模型。使用
搜索
或查询
模型是否更有意义?我实际上没有在模型上进行搜索。我想这是gem为了方便而做的事情。