国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP 如何使用 Elasticsearch 的 索引 API 接口

這篇具有很好參考價值的文章主要介紹了PHP 如何使用 Elasticsearch 的 索引 API 接口。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

目錄

一、實戰(zhàn)場景

二、知識點(diǎn)

PHP

Elasticsearch

索引 index

MySQL

三、菜鳥實戰(zhàn)


一、實戰(zhàn)場景

如何在 PHP 中使用 Elasticsearch 的索引 API 接口

二、知識點(diǎn)

  • PHP

  • Elasticsearch

  • 索引 index

  • MySQL

Elasticsearch 本質(zhì)上是一個數(shù)據(jù)庫,但并不是 MySQL 這種關(guān)系型數(shù)據(jù)庫,查詢語言也不是 SQL,而是 Elasticsearch 自己的一套查詢語言。既然是數(shù)據(jù)庫,有一些概念是互通的,如下表:

php elasticsearch搜索接口,elasticsearch,php,elasticsearch,大數(shù)據(jù)

三、菜鳥實戰(zhàn)

基礎(chǔ)環(huán)境準(zhǔn)備可參考之前文章。

創(chuàng)建索引

發(fā)送創(chuàng)建請求

創(chuàng)建索引返回結(jié)果

PHP

// 創(chuàng)建索引

public function create(Request $request){

    // 獲取索引名稱

    $testIndex = $request->get("index_name", "test");


    // 執(zhí)行

    $client = EsHelper::getEsClient();

    $params = [

        'index' => $testIndex,

    ];

    $response = $client->indices()->create($params);


    // 返回

    $data = [

        'es_info' => $response->asArray(),

    ];

    $this->success($data);

} 
JSON

{

    "code": 0,

    "message": "ok",

    "data": {

        "es_info": {

            "acknowledged": true,

            "shards_acknowledged": true,

            "index": "test"

        }

    }

} 

更加復(fù)雜的參數(shù)

可指定主分片個數(shù):number_of_shards

可指定副分片個數(shù):number_of_replicas

PHP

$params = [

    'index' => 'my_index',

    'body' => [

        'settings' => [

            'number_of_shards' => 3,

            'number_of_replicas' => 2

        ],

        'mappings' => [

            'my_type' => [

                '_source' => [

                    'enabled' => true

                ],

                'properties' => [

                    'first_name' => [

                        'type' => 'string',

                        'analyzer' => 'standard'

                    ],

                    'age' => [

                        'type' => 'integer'

                    ]

                ]

            ]

        ]

    ]

]; 

查詢索引詳情

發(fā)送查詢請求

PHP

// 查詢索引

public function detail(Request $request){

    // 獲取索引名稱

    $queryIndexName = $request->get("index_name", "test");

    $params = [

        'index' => $queryIndexName,

    ];

    // 執(zhí)行

    $client = EsHelper::getEsClient();


    $result = "";

    try {

        $response = $client->indices()->get($params);

        $result = $response->asArray();

    }catch (\Exception $e){

        $result = $e->getMessage();

    }


    // 返回

    $data = [

        'es_info' => $result,

    ];

    $this->success($data);

} 

響應(yīng)結(jié)果

JSON

{

    "code": 0,

    "message": "ok",

    "data": {

        "es_info": {

            "test1": {

                "aliases": [],

                "mappings": [],

                "settings": {

                    "index": {

                        "routing": {

                            "allocation": {

                                "include": {

                                    "_tier_preference": "data_content"

                                }

                            }

                        },

                        "number_of_shards": "1",

                        "provided_name": "test1",

                        "creation_date": "1669179904968",

                        "number_of_replicas": "1",

                        "uuid": "Y62XH2Z4RC-kd2cKieOu9Q",

                        "version": {

                            "created": "8050199"

                        }

                    }

                }

            }

        }

    }

} 

更新索引

發(fā)送更新索引請求

PHP

// 更新索引

public function update(Request $request){

    // 獲取索引名稱

    $indexName = $request->get("index_name", "test");

    $number_of_replicas = $request->get("number_of_replicas", 1);


    // 確定參數(shù)

    $params = [

        'index' => $indexName,

        'body' => [

            'settings' => [

                'number_of_replicas' => $number_of_replicas,

            ]

        ]

    ];


    // 執(zhí)行

    $client = EsHelper::getEsClient();

    try {

        $response = $client->indices()->putSettings($params);

        $result = $response->asArray();

    }catch (\Exception $e){

        $result = $e->getMessage();

    }


    // 返回

    $data = [

        'es_info' => $result,

    ];

    $this->success($data);

} 

響應(yīng)結(jié)果

JSON

{

    "code": 0,

    "message": "ok",

    "data": {

        "es_info": {

            "acknowledged": true

        }

    }

} 

刪除索引

發(fā)送刪除索引請求

PHP

// 刪除索引

public function delete(Request $request){

    // 獲取索引名稱

    $indexName = $request->get("index_name", "test1");


    // 確定參數(shù)

    $params = [

        'index' => $indexName,

    ];


    // 執(zhí)行

    $client = EsHelper::getEsClient();

    try {

        $response = $client->indices()->delete($params);

        $result = $response->asArray();

    }catch (\Exception $e){

        $result = $e->getMessage();

    }


    // 返回

    $data = [

        'es_info' => $result,

    ];

    $this->success($data);

} 

響應(yīng)結(jié)果

JSON

{

    "code": 0,

    "message": "ok",

    "data": {

        "es_info": {

            "acknowledged": true

        }

    }

} 

通過上述步驟,就將 php 與 Elasticsearch 的索引操作連通了,接下來就可以在索引上創(chuàng)建文檔了。文章來源地址http://www.zghlxwxcb.cn/news/detail-535668.html

到了這里,關(guān)于PHP 如何使用 Elasticsearch 的 索引 API 接口的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Elasticsearch本地單機(jī)配置以及php組件使用記錄

    ?鍵值對模式 info 方法 $client-info();

    2024年01月17日
    瀏覽(39)
  • 【ElasticSearch】ElasticSearch Java API的使用——常用索引、文檔、查詢操作(二)

    Elaticsearch ,簡稱為es,es是一個開源的 高擴(kuò)展 的 分布式全文檢索引擎 ,它可以近乎 實時的存儲 、 檢索數(shù)據(jù); 本身擴(kuò)展性很好,可以擴(kuò)展到上百臺服務(wù)器,處理PB級別(大數(shù)據(jù)時代)的數(shù)據(jù)。es也使用java開發(fā)并使用Lucene作為其核心來實現(xiàn)所有索引和搜索的功能,但是它的 目的

    2024年01月16日
    瀏覽(124)
  • PHP操作寶塔面板Api,寶塔服務(wù)器搭建,API接口使用教程

    PHP操作寶塔面板Api,寶塔服務(wù)器搭建,API接口使用教程

    最近兩個月都在寫B(tài)ty項目,所以收集了很多很多寶塔常用到的一些Api接口,官方文檔雖然寫了一點(diǎn),但是始終是不怎么全的,下面我們來看看寶塔面板的接口如何抓取 接口抓取 1、登錄寶塔面板 2、找到自己想要的功能 3、f12打開審查元素(控制臺)切換到Network選項卡 上面的

    2024年02月06日
    瀏覽(32)
  • PHP 如何設(shè)計一個高安全的電商平臺:淘寶/京東商品類API封裝接口

    PHP 如何設(shè)計一個高安全的電商平臺:淘寶/京東商品類API封裝接口

    如何保證API接口安全 接口的安全性主要圍繞Token、Timestamp和Sign三個機(jī)制展開設(shè)計,保證接口的數(shù)據(jù)不會被篡改和重復(fù)調(diào)用,下面具體來看: Token授權(quán)機(jī)制 :用戶使用用戶名密碼登錄后服務(wù)器給客戶端返回一個Token(通常是UUID),并將Token-UserId以鍵值對的形式存放在緩存服務(wù)

    2024年02月09日
    瀏覽(26)
  • Elasticsearch Java API 的使用-更新索引(update & upset)與 Bulk的批量更新

    Java更新索引(update upset) update 更新使用UpdateRequest(update類型更新,只能更新) upset 要用IndexRequest設(shè)定添加文檔,UpdateRequest設(shè)定更新文檔,設(shè)定upset執(zhí)行有則修改無則更新(upset類型更新,文檔不存在時創(chuàng)建) 基于Bulk的批量更新(update upset) 動態(tài)的更新一個 documents 中的任

    2024年02月11日
    瀏覽(27)
  • ElasticSearch與PHP整合

    ElasticSearch是一個基于分布式的搜索和分析引擎,它可以提供實時的、可擴(kuò)展的、高性能的搜索功能。PHP是一種廣泛使用的服務(wù)器端腳本語言,它可以與ElasticSearch整合,以實現(xiàn)更高效的搜索功能。在本文中,我們將討論ElasticSearch與PHP整合的核心概念、算法原理、最佳實踐、應(yīng)

    2024年02月20日
    瀏覽(17)
  • PHP 文心千帆API接口對接

    PHP 文心千帆API接口對接

    創(chuàng)建一個智能云應(yīng)用。根據(jù)實際需求創(chuàng)建智能云應(yīng)用。創(chuàng)建成功后,獲取AppID、API Key、Secret Key 等信息。 API 授權(quán)。對應(yīng)用的 AppID 進(jìn)行授權(quán)。 獲取接口訪問憑證 access_token 。根據(jù)第1步獲取的 API Key 和 Secret Key , 獲取 access_token ,通過 access_token 鑒權(quán)調(diào)用者身份。 調(diào)用API接口。

    2024年02月11日
    瀏覽(22)
  • PHP elasticsearch 條件過濾、排序、高亮實現(xiàn)

    php在做搜索引擎時,進(jìn)程要對結(jié)果進(jìn)行篩選,所以我們這里記錄一下elasticsearch 條件過濾、排序、高亮實現(xiàn)。在創(chuàng)建索引時如果使用了mapping映射,請將要過濾和排序的字段index設(shè)置為true ok,搞定! php寫搜索時注意:多個篩選條件時,term、range外面還有一層[],高亮需指定字段,

    2023年04月21日
    瀏覽(23)
  • ES 10 - 如何使用Elasticsearch的索引模板(index template)

    本文轉(zhuǎn)載自:ES 10 - 如何使用Elasticsearch的索引模板(index template) - 瘦風(fēng) - 博客園 索引模板: 就是把已經(jīng)創(chuàng)建好的某個索引的參數(shù)設(shè)置(settings)和索引映射(mapping)保存下來作為模板, 在創(chuàng)建新索引時, 指定要使用的模板名, 就可以直接重用已經(jīng)定義好的模板中的設(shè)置和映射. (1) sett

    2024年02月15日
    瀏覽(21)
  • Elasticsearch:從 ES|QL 到 PHP 對象

    Elasticsearch:從 ES|QL 到 PHP 對象

    作者:來自 Elastic?Enrico Zimuel 從 elasticsearch-php v8.13.0 開始,你可以執(zhí)行 ES|QL?查詢并將結(jié)果映射到 stdClass 或自定義類的 PHP 對象。 ES|QL 是 Elasticsearch 8.11.0 中引入的一種新的 Elasticsearch 查詢語言。 目前,它在技術(shù)預(yù)覽版中可用。 它提供了一種強(qiáng)大的方法來過濾、轉(zhuǎn)換和分析存

    2024年04月13日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包