基本的に Movie モデルから取得しようとしている、ElasticSearch クエリからネストされたデータを取得しようとしています。
title
ratings
categories
ここで、2 つのタイヤのセットアップを試しましたが、どちらも評価やカテゴリではなく、映画のタイトルのみを返します。たとえば、インデックスは次のように見えます:
curl -X POST "http://localhost:9200/movies/_search?pretty=true" -d ' { "クエリ" : { "クエリ文字列" : {"クエリ" : "t*"} }, "ファセット": { "カテゴリ": { "用語": {"フィールド": "カテゴリ"} } } } ' { 「取った」 : 16, "timed_out" : false, "_shards": { "合計" : 5, 「成功」: 5, 「失敗しました」: 0 }、 「ヒット」:{ "合計" : 3, "max_score" : 1.0, 「ヒット」:[{ "_index" : "映画", "_type" : "映画", "_id": "13", "_score" : 1.0, "_source" : {"description":null,"id":13,"title":"Tiny Plastic Men"} }、{ "_index" : "映画", "_type" : "映画", "_id": "32", "_score" : 1.0, "_source" : {"description":null,"id":32,"title":"The Extreme Truth"} }、{ "_index" : "映画", "_type" : "映画", "_id": "39", "_score" : 1.0, "_source" : {"description":null,"id":39,"title":"A Time of Day"} } ] }、 "ファセット": { 「カテゴリ」:{ "_type" : "用語", 「行方不明」: 3, 「合計」: 0, 「その他」: 0, "条項" : [ ] } }
これは私の映画モデルです:
class Movie :分類 所属先:ユーザー has_many :評価 マッピングする インデックス:ID、タイプ:「整数」 インデックス:タイトル、ブースト:40 インデックス:説明、アナライザー:「スノーボール」 インデックス :カテゴリが行う インデックス:ID、タイプ:「整数」 インデックス:名前、タイプ: 'string'、インデックス: 'not_analyzed' 終わり インデックス :レーティング インデックス:ID、タイプ:「整数」 インデックス:星、タイプ:「整数」 終わり 終わり 終わり
検索実験のブランチはこちら: https://github.com/mulderp/moviedb/tree/categories
ジャンル --> 評価など、検索のファセットをどのように機能させることができますか。