在弹性搜索中搜索多种类型

时间:2016-01-11 07:38:54

标签: php symfony elasticsearch

我们有两种类型的文件,它们是包装&收件人。 我们希望同时搜索这两种类型。我们可以通过POST到index_name / packages,recipients / _search URL来实现这个目标。

我们可以使用任何标志来告诉elasticsearch首先搜索收件人然后再搜索包裹吗? 假设有1K包和100个收件人。当搜索时,它会搜索两种类型,但如果我们通过id DESC进行排序,则只获取包。如果我们进行排序ID ASC,那么它也会提取收件人,因为它们是先前创建的。

```

{
  "query": {
    "query_string": {
      "query": "*james* *s*",
      "fields": [
        "_all",
        "packages.recipientId.email"
      ],
      "default_operator": "AND"
    }
  },
  "size": "10",
  "from": "0",
  "sort": {
    "id": {
      "order": "desc"
    }
  }
}

```

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

如果您想让收件人先出现,为什么不添加一个字段,其中reciepient的值为1,包的值为2,然后按此字段排序