0
動的な量の用語をフィルタに渡したいというクエリがあります。配列としてこれを渡すためにとにかくありますか?私はいくつかの異なることを試しましたが、常にelasticsearchからの不正なリクエストエラーで終わります。 Ruby on Railsとelasticsearch-rails gemを使用しています。ここに私のクエリは次のとおりです。ElasticSearch - フィルタリングする用語の配列を渡す
@products = Product.search(
query:{
function_score:{
query:{
bool:{
must:{
multi_match:{
fields: ['brand^5', '_all'],
query: "#{query}",
fuzziness: "AUTO"
}
},
filter:{
bool:{
must:[
{term: {"brand":"NordicTrack"}},
{term: {"product_type":"Treadmill"}}
]
}
}
}
},
field_value_factor:{
field: "popularity",
modifier: "log1p"
}
}
}).page(page).per(25)
私はこのような配列を渡したいと思います:
array = ['{term: {"brand":"NordicTrack"}}', {term: {"product_type":"Treadmill"}}]
このような "しなければならない" INTOステートメント:
@products = Product.search(
query:{
function_score:{
query:{
bool:{
must:{
multi_match:{
fields: ['brand^5', '_all'],
query: "#{query}",
fuzziness: "AUTO"
}
},
filter:{
bool:{
must: array
}
}
}
},
field_value_factor:{
field: "popularity",
modifier: "log1p"
}
}
}).page(page).per(25)
はしかし、これはA原因ESによる不正なリクエストエラー。