1

タイヤ付きレールでelasticsearchを使用しています。

私のコード:

def to_indexed_json
    {
      :id                 => id,  
      :brand_name         => brand_name,
      :brand_id           => brand_id
    }.to_json
end

facet "brands" do
  terms :brand_id
end

Elasticsearchから返されたすべてのブランドの名前を取得するには、データベースでクエリを実行する必要があります。Elasticsearchからこれらの値(brand_name)を返す方法はありますか?

4

1 に答える 1

3

idフィールドに基づくファセットを、各エントリに名前を追加するスクリプトと組み合わせて使用​​すると、各エントリがidとnameの両方で構成されるようになります。

"facets" : {
    "tag" : {
        "terms" : {
            "field" : "id",
            "script" : "term + \"_\" + _source.name"
        }
    }
}

次に、フロントエンドで、名前のみを表示するためにファセットエントリからIDを削除する必要があります(IDにを含めることはできません_)が、ユーザーがエントリ自体を選択したときにフィルタを適用するためのキーを保持できます。

于 2012-09-12T15:41:23.593 に答える