繁体   English   中英

ElasticSearch:在多个字段上查询

[英]ElasticSearch: Query on multiple fields

我是ElasticSearch的新手,正在尝试查询嵌套文档的多个字段。 实际上,只有在完全匹配时,它才会成功。

return Record::search()
            ->multiMatch([
                'original_name',
                'some_id',
                'contributors.name',
                'customNames.custom_name',
            ], ' * '.$searchTerm.' * ', ['fuzziness' => 'AUTO'])
            ->size(500)->get()->hits();

有任何想法吗?

SQL等效项为:

SELECT * FROM WHERE records LIKE '%'.$seachTerm.'%' (加上一些额外的联接)

 $query = [
            'multi_match' => [
                'query' => $searchTerm,
               'fields' => [
                    'original_name',
                    'some_id'
                ]
             ],
          ];

$records = Record::searchByQuery($query, '', '', $count, $offset, [
                'id' => ['order' => 'desc']
            ]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM