ES的查詢關(guān)鍵詞解釋

2023-12-04    分類: 網(wǎng)站建設(shè)

1.match

查詢語法如下:title是需要查詢的字段名,可以被替換成任何字段。query對應(yīng)的是所需的查詢。比如這里會被拆分成‘php’和‘后臺’,因?yàn)閛perator是or,所以ES會去所有數(shù)據(jù)里的title字段查詢包含‘后臺’和‘php’的,如果operator為and,這查詢的是即包含‘后臺’又有‘php’的數(shù)據(jù),這應(yīng)該很好理解。

$response = $client->get('localhost:9200/accounts/person/_search', [    'json' => [        'query' => [            'match' => [                'title' => [                    'query' => '后臺php',                    'operator' => 'or',                ]            ]        ]    ]]);

2.multi_match

如果想在多個字段中查找,那就需要用到multi_match查詢,語法如下:

$response = $client->get('localhost:9200/accounts/person/_search', [    'json' => [        'query' => [            'multi_match' => [                'query' => '張三 php',                'fields' => ['title', 'desc', 'user']            ]        ]    ]]);

3.query_string

查詢語法如下:類似match查詢的operator,在這里需要在query中用OR或AND實(shí)現(xiàn)。

$response = $client->get('localhost:9200/accounts/person/_search', [    'json' => [        'query' => [            'query_string' => [                'query' => '(張三) OR (php)',                'default_field' => 'title',            ]        ]    ]]);

多字段查詢?nèi)缦拢?/strong>

$response = $client->get('localhost:9200/accounts/person/_search', [    'json' => [        'query' => [            'query_string' => [                'query' => '(張三) OR (php)',                'fields' => ['title', 'user'],            ]        ]    ]]);

4.range query

這是范圍查詢,例如查詢年齡在10到20歲之間的。查詢語法如下:

$response = $client->get('localhost:9200/accounts/person/_search', [    'json' => [        'query' => [            'range' => [                'age' => [                    'gte' => 10,                    'lte' => 20,                ],            ]        ]    ]]);

注:gte表示>=,lte表示<=,gt表示>,lt表示<。

5.bool查詢

bool查詢的語法都是一樣的。如下:

$response = $client->get('localhost:9200/accounts/person/_search', [    'json' => [        'query' => [            'bool' => [                'must/filter/should/must_not' => [                    [                        'query_string' => [                            'query' => '研發(fā)',                        ]                    ],                    [                        'range' => [                            'age' => [                                'gt' => 20                            ]                        ]                    ],                ],            ]        ]    ]]);

當(dāng)前文章:ES的查詢關(guān)鍵詞解釋
當(dāng)前鏈接:http://www.muchs.cn/news6/298606.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、動態(tài)網(wǎng)站、網(wǎng)站收錄標(biāo)簽優(yōu)化、Google、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)