laravel es 相關代碼 ElasticSearch

來源:

github

<?phpnamespace App\Http\Controllers;use Elastic\Elasticsearch\ClientBuilder;
use Illuminate\Support\Facades\DB;class ElasticSearch extends Controller
{public $client = null;public function __construct(){$this->client = ClientBuilder::create()->setHosts(["http://elasticsearch:9200"])->setBasicAuthentication('elastic', "123456")->build();}public function infos(){$response = $this->client->info();echo "<pre>";print_R($response);}// 創建分詞索引public function esCreateIk(){$params = ['index' => 'ik','body' => ['mappings' => ['properties' => ['content' => ['type' => 'text','analyzer' => 'ik_max_word',],],],],];$ik = $this->client->indices()->create($params);dd($ik->asArray());}//判斷索引是否存在public function isIndex(){$index = $this->client->indices()->exists(['index' => 'ik'])->asBool();dd($index);}//查看索引的的信息public function indexInfo(){$index = $this->client->indices()->getMapping(['index' => 'ik']);dd($index->asArray());}//刪除索引及數據public function indexDelete(){$index = $this->client->indices()->delete(['index' => 'ik']);dd($index->asArray());}//刪除索引下面id=1的數據public function esDelete(){$params = ['index' => 'ik','id' => 1,];$response = $this->client->delete($params);dd($response->asArray());}// 數據插入public function esCreateIkData(){$array = ['index' => 'ik','type' => 'doc','id' => 1,'body' => ['content' => '測試數據',],];$result = $this->client->index($array);dd($result);}// 批量插入數據public function eaCreateIkDataBulk(){set_time_limit(0);$data = DB::table('faq')->get();// 一條一條插入foreach ($data as $key => $value) {$array['body'][] = ['index' => ['_index' => 'ik', '_id' => $value->id]];$array['body'][] = ['content' => $value->content];}$result = $this->client->bulk($array);dd($result);}// 查詢當前索引下有多少數據public function esCountData(){$params = ['index' => 'ik',];echo $this->client->count($params);}/*** 查詢 ik 下面所有數據* 默認返回最多10數據*/public function esIkSearch(){$query = ['index' => 'ik',// 'id' => 1, // 查詢id 的話就加這個字段];$result = $this->client->search($query);dd($result->asArray());}/*** 查詢 ik 下面數據 加各種條件**/public function esIkSearchWhere(){$query = ['index' => 'ik','body' => ['query' => ['match' => ['content' => '被騙了幾千塊錢,有微信怎么要回來']]],'_source' => ['content'], //目前只有content 如果字段多了 想要那個返回哪個。可以不設置。默認返回所有數據 'size' => 5, //設置一次返回5條數據、可以不設置'from' => 2, //從第幾條開始 類似于limit 5,2 可以不設置];$result = $this->client->search($query);dd($result->asArray());}/*** 修改數據* 把 ik 下面 id=1 的content 修改*/public function esIkedit(){$query = ['index' => 'ik','id' => 1,'body' => ['doc' => ['content' => '修改數據'],],];$result = $this->client->update($query);dd($result);}
}

在這里插入圖片描述

Route::get("es/info", [ElasticSearch::class, "infos"]); //ES信息Route::get("es/create_ik", [ElasticSearch::class, "esCreateIk"]); // 創建分詞索引Route::get("es/delete", [ElasticSearch::class, "esDelete"]); //刪除索引的里面的某條數據Route::get("es/indexDelete", [ElasticSearch::class, "indexDelete"]); //刪除索引Route::get("es/esCreateIkData", [ElasticSearch::class, "esCreateIkData"]); //插入數據Route::get("es/eaCreateIkDataBulk", [ElasticSearch::class, "eaCreateIkDataBulk"]); //批量插入數據Route::get("es/esIkSearch", [ElasticSearch::class, "esIkSearch"]); //返回所有數據Route::get("es/esIkSearchWhere", [ElasticSearch::class, "esIkSearchWhere"]); //加查詢條件,返回所有數據

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71761.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71761.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71761.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里發布新開源視頻生成模型Wan-Video,支持文生圖和圖生圖,最低6G就能跑,ComFyUI可用!

Wan-Video 模型介紹&#xff1a;包括 Wan-Video-1.3B-T2V 和 Wan-Video-14B-T2V 兩個版本&#xff0c;分別支持文本到視頻&#xff08;T2V&#xff09;和圖像到視頻&#xff08;I2V&#xff09;生成。14B 版本需要更高的 VRAM 配置。 Wan2.1 是一套全面開放的視頻基礎模型&…

閉包函數是什么?

閉包函數是 JavaScript 中一個非常重要且強大的概念&#xff0c;下面將從定義、形成條件、作用、示例以及優缺點等方面詳細介紹閉包函數。 定義 閉包是指有權訪問另一個函數作用域中的變量的函數。簡單來說&#xff0c;即使該函數執行完畢&#xff0c;其作用域內的變量也不會…

nuxt2 打包優化使用“compression-webpack-plugin”插件

在使用 Nuxt.js 構建項目時&#xff0c;為了提高性能&#xff0c;通常會考慮對靜態資源進行壓縮。compression-webpack-plugin 是一個常用的 Webpack 插件&#xff0c;用于在生產環境中對文件進行 Gzip 壓縮。這對于減少網絡傳輸時間和提高頁面加載速度非常有幫助。下面是如何在…

大型語言模型訓練的三個階段:Pre-Train、Instruction Fine-tuning、RLHF (PPO / DPO / GRPO)

前言 如果你對這篇文章可感興趣&#xff0c;可以點擊「【訪客必讀 - 指引頁】一文囊括主頁內所有高質量博客」&#xff0c;查看完整博客分類與對應鏈接。 當前的大型語言模型訓練大致可以分為如下三個階段&#xff1a; Pre-train&#xff1a;根據大量可獲得的文本資料&#…

模型壓縮技術(二),模型量化讓模型“輕裝上陣”

一、技術應用背景 在人工智能蓬勃發展的浪潮下&#xff0c;大模型在自然語言處理、計算機視覺等諸多領域大放異彩&#xff0c;像知名的GPT以及各類開源大語言模型&#xff0c;其規模與復雜度持續攀升。然而&#xff0c;這一發展也帶來了挑戰&#xff0c;模型越大&#xff0c;對…

機器學習:愚者未完成的詩篇(零)

當算法在數據海洋中打撈支離破碎的韻律時&#xff0c;機器學習系統展現出的智慧如同斷臂的維納斯雕像——完美與殘缺構成令人戰栗的美學悖論。愚者&#xff0c;在詞語的混沌中編織邏輯經緯&#xff0c;卻總在即將觸及詩性本質的瞬間&#xff0c;暴露出認知維度的致命裂隙。 一…

【算法題】小魚的航程

問題&#xff1a; 分析 分析題目&#xff0c;可以看出&#xff0c;給你一個開始的星期&#xff0c;再給一個總共天數&#xff0c;在這些天內&#xff0c;只有周六周日休息&#xff0c;其他全要游泳250公里。 那分支處理好啦 當星期為6時&#xff0c;需要消耗2天&#xff0c;…

GStreamer —— 2.5、Windows下Qt加載GStreamer庫后運行 - “教程5:GUI 工具包集成(gtk)“(附:完整源碼)

運行效果 簡介 上一個教程演示了時間管理及seek操作。本教程介紹如何將 GStreamer 集成到圖形用戶中 接口 &#xff08;GUI&#xff09; 工具包&#xff0c;如 GTK。基本上 GStreamer 負責媒體播放&#xff0c;而 GUI 工具包處理 用戶交互。最有趣的部分是那些 庫必須進行交互&…

NLTK和jieba

NLTK與jieba概述 自然語言處理&#xff08;NLP&#xff09;領域是計算機科學領域與人工智能領域中的一個重要方向&#xff0c;主要研究方向是實現人與計算機之間用自然語言進行有效通信的各種理論和方法。 在自然語言處理領域中&#xff0c;文本類型的數據占據著很大的市場&a…

linux查看定時任務與設置定時任務

一、查看定時任務 使用 cron 查看當前用戶的定時任務&#xff1a; bash crontab -l # 查看當前用戶的cron任務 查看系統級定時任務&#xff1a; bash 系統級任務通常存放在以下位置&#xff1a; cat /etc/crontab # 系統主配置文件 ls /etc/cron.d/ # 系統級任務片段 ls /…

DeepSeek-R1本地化部署(Mac)

一、下載 Ollama 本地化部署需要用到 Ollama&#xff0c;它能支持很多大模型。官方網站&#xff1a;https://ollama.com/ 點擊 Download 即可&#xff0c;支持macOS,Linux 和 Windows&#xff1b;我下載的是 mac 版本&#xff0c;要求macOS 11 Big Sur or later&#xff0c;Ol…

支持向量簡要理解

決策方程符合感知機區分理論&#xff0c;我們基于線性代數來看這滿足子空間理論&#xff0c;可以獲取得到超平面。 支持向量機的目標是尋找最與超平面最近的點的最大距離&#xff0c;而距離計算如上&#xff0c;符合數學上計算點到線&#xff08;面&#xff09;的距離公式。 …

使用OpenCV和MediaPipe庫——實現人體姿態檢測

目錄 準備工作如何在Windows系統中安裝OpenCV和MediaPipe庫&#xff1f; 安裝Python 安裝OpenCV 安裝MediaPipe 驗證安裝 代碼邏輯 整體代碼 效果展示 準備工作如何在Windows系統中安裝OpenCV和MediaPipe庫&#xff1f; 安裝Python 可以通過命令行運行python --versio…

5G學習筆記之BWP

我們只會經歷一種人生&#xff0c;我們選擇的人生。 參考&#xff1a;《5G NR標準》、《5G無線系統指南:如微見著&#xff0c;賦能數字化時代》 目錄 1. 概述2. BWP頻域位置3. 初始與專用BWP4. 默認BWP5. 切換BWP 1. 概述 在LTE的設計中&#xff0c;默認所有終端均能處理最大2…

創建Electron35 + vue3 + electron-builder項目,有很過坑,記錄過程

環境&#xff1a; node v20.18.0 npm 11.1.0 用到的所有依賴&#xff1a; "dependencies": {"core-js": "^3.8.3","vue": "^3.2.13","vue-router": "^4.5.0"},"devDependencies": {"ba…

Linux下安裝elasticsearch(Elasticsearch 7.17.23)

Elasticsearch 是一個分布式的搜索和分析引擎&#xff0c;能夠以近乎實時的速度存儲、搜索和分析大量數據。它被廣泛應用于日志分析、全文搜索、應用程序監控等場景。 本文將帶你一步步在 Linux 系統上安裝 Elasticsearch 7.17.23 版本&#xff0c;并完成基本的配置&#xff0…

NVIDIA顯卡驅動、CUDA、cuDNN 和 TensorRT 版本匹配指南

一、驅動安裝 1、下載驅動 前往NVIDIA驅動下載頁&#xff0c;輸入顯卡型號和操作系統類型&#xff0c;選擇≥目標CUDA版本要求的驅動版本?。 2、安裝驅動? ?Windows?&#xff1a;雙擊安裝包按向導操作。?Linux?&#xff1a;建議使用apt或官方.run文件安裝?。 3、驗證…

plt和cv2有不同的圖像表示方式和顏色通道順序

在處理圖像時&#xff0c;matplotlib.pyplot (簡稱 plt) 和 OpenCV (簡稱 cv2) 有不同的圖像表示方式和顏色通道順序。了解這些區別對于正確處理和顯示圖像非常重要。 1. 圖像形狀和顏色通道順序 matplotlib.pyplot (plt) 形狀&#xff1a;plt 通常使用 (height, width, cha…

基于PyTorch的深度學習5——神經網絡工具箱

可以學習如下內容&#xff1a; ? 介紹神經網絡核心組件。 ? 如何構建一個神經網絡。 ? 詳細介紹如何構建一個神經網絡。 ? 如何使用nn模塊中Module及functional。 ? 如何選擇優化器。 ? 動態修改學習率參數。 5.1 核心組件 神經網絡核心組件不多&#xff0c;把這些…

模擬調制技術詳解

內容摘要 本文系統講解模擬調制技術原理及Matlab實現&#xff0c;涵蓋幅度調制的四種主要類型&#xff1a;雙邊帶抑制載波調幅&#xff08;DSB-SC&#xff09;、含離散大載波調幅&#xff08;AM&#xff09;、單邊帶調幅&#xff08;SSB&#xff09;和殘留邊帶調幅&#xff08;…