バックグラウンド (「コンピューター サイエンス」など) とスキル (「php」など) を持つ一連のユーザーがいます。背景かスキルのどちらかを強調しながら、それらを検索しようとしています (ユーザーは検索時にどちらかのオプションを選択します)。
このJSON文字列でcurlを使用してこれを機能させることができました(この場合、背景を強調しています):
'"query" : {
"bool" : {
"should" : [
{
"text" : {"skills" : {"query" : "php mysql html css"}}
},
{
"text" : {"backgrounds" : {"query" : "computer science", "boost" : 5}}
}
]
}
}'
ここでの問題は、この JSON を Tire でクエリとして使用する方法と、Tire DSL で同等のものを記述する方法がわからないことです。
編集
実際、タイヤのソースコードを見て、それを理解しました。
これは次のようになります。
results = Users.search(:load => true) do
query do
boolean do
should { string "skills:#{skills_query}", {:boost => skills_boost}}
should {string "backgrounds:#{backgrounds_query}", {:boost => backgrounds_boost}}
end
end
end
強調したい方はブーストを5に、もう一方は0に設定しています。