0

对于已经在 Solr 中使用Join Query Domain Changes功能的人,Elastisearch 中是否有类似的功能?我不是在寻找加入查询作为答案(因为我认为它不是,但可能是我忽略了它。请说服我:))。

因此,例如,如果我在一个集合中同时拥有 Products 和 Sales 数据(不,没有去规范化)并且我尝试做一个 facet.pivot(使用 json.facet)来带来product_namesale_country会在 Solr 中做这样的事情(product_id公共/标识符字段在哪里),

json.facet = 
{
    "product_name": {
        "type": "terms",
        "field": "product_name",
        "numBuckets": true,
        "sort": index 
        "facet": {
            sale_location: {
                domain: {
                    join: {
                        from: "product_id",
                        to: "product_id"
                    },
                    filter: "type:sale"
                },
                type: terms,
                field: "sale_location",
                numBuckets: true,
                "sort": index
            }
        }
    }
}

示例 Solr 数据集如下所示,

 {
   "_id": "1!1",
   "product_id": 1,
   "product_name": "bananna"
 },
 {
   "_id": "2!2",
   "product_id": 2,
   "product_name": "apple"
 },
 {
   "_id": "1!123",
   "product_id": 1,
   "sale_id": 123,
   "sale_country": "Jamaica"
 },
 {
   "_id": "2!124",
   "product_id": 2,
   "sale_id": 124,
   "sale_country": "Poland"
 }

我不想要的答案如下(因为我已经知道了),

  1. 去规范化你的数据
  2. 搜索并不是关系数据的真正场所
  3. 使用 Solr 而不是 Elasticsearch,因为它已经在那里工作了
4

0 回答 0