为了账号安全,请及时绑定邮箱和手机立即绑定

如何在具有数组字段的弹性搜索中进行搜索?

如何在具有数组字段的弹性搜索中进行搜索?

PHP
ITMISS 2023-08-06 15:54:09
我的索引弹性搜索文档包含一个数组字段。例如汽车的功能。{"features": [ "Anti-Lock Brakes",              "Alarm",               "Air Bag Driver",              "Cruise Control",               "Satellite Navigation"'}如何搜索包含给定数组中的值的文档。例如:我想检查包含“卫星导航”和“巡航控制”等功能的汽车。我尝试了以下方法,但它不起作用(php代码)public function index(Request $request, Client $search, SerializerInterface $serializer): JsonResponse   ...    $search_query = ["Satellite Navigation", "Cruise Control"]      $filters = [];    $filters[] = [                   'terms' => [                       'features' => $search_query,                   ]               ];    $results = $search->search([               'index' => 'cars',               'body' => [                   'from' => $offset,                   'size' => self::PAGE_WINDOW,                   'query' => [                       "bool" => [                           "must" => [                               "match_all" => new \stdClass()                           ],                           "filter" => $filters                       ]                   ]               ]           ]);...我想获得有关如何设置 $filters 的提示,以便获得所需的结果。
查看完整描述

1 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

由于您没有映射features并且正在添加索引数据,因此会生成默认映射。


features尝试下面的搜索查询,这将返回包含以下内容的所有文档'Satellite navigation':'Cruise control'


搜索查询:


{

  "query": {

    "bool": {

      "must": [

        {

          "match_phrase": {

            "features": "Satellite Navigation"

          }

        },

        {

          "match_phrase": {

            "features": "Cruise Control"

          }

        }

      ]

    }

  }

}

搜索结果:


"hits": [

      {

        "_index": "my-index",

        "_type": "_doc",

        "_id": "1",

        "_score": 1.7178956,

        "_source": {

          "features": [

            "Anti-Lock Brakes",

            "Alarm",

            "Air Bag Driver",

            "Cruise Control",

            "Satellite Navigation"

          ]


查看完整回答
反对 回复 2023-08-06
  • 1 回答
  • 0 关注
  • 75 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信