php es實現全文檢索demo

2021-10-10 15:41:32 字數 3416 閱讀 1666

* 更新es單條資料

* @return string

*/public function update()

return json(['code' => 1002]);}}

<?php 

use elasticsearch\clientbuilder;

/** * es操作類

* class elasticsearch

*/class elasticsearch extends model

/*** 建立索引

*/public function index()

return true;

}/**

* 搜尋es結果

* @param $keyword

* @return mixed

*/public function search($keyword)

/*** 根據id更新單條es資料

* @param $id

* @param array $data

* @param string $type_name

* @param string $index_name

* @return bool|mixed

*/public function updatees($id, $data = , $type_name = 'users', $index_name = 'cheney')

$update = [

'index' => $index_name,

'type' => $type_name,

'id' => $id,

'body' => [

'doc' => $data]];

$res = $this->client->update($update);

return $res['result'];

}/**

* 建立索引

* @param string $index_name

* @return array

*/public function create_index($index_name = 'cheney')

/*** 刪除索引

* @param string $index_name

* @return array

*/public function delete_index($index_name = 'cheney')

/*** 建立文件模板

* @param string $type_name

* @param string $index_name

* @return array

*//**

* 檢視對映,就是相當於資料庫的資料結構

* @param string $type_name

* @param string $index_name

* @return array

*//**

* 新增文件

* @param $id

* @param $doc

* @param string $index_name

* @param string $type_name

* @return array

*/public function add_doc($id, $doc, $index_name = 'cheney', $type_name = 'users')

/*** 判斷文件存在

* @param int $id

* @param string $index_name

* @param string $type_name

* @return bool

*/public function exists_doc($id = 1, $index_name = 'cheney', $type_name = 'users')

/*** 獲取文件

* @param int $id

* @param string $index_name

* @param string $type_name

* @return array

*/public function get_doc($id = 1, $index_name = 'cheney', $type_name = 'users')

/*** 更新文件

* @param int $id

* @param string $index_name

* @param string $type_name

* @return array

*/public function update_doc($id = 1, $index_name = 'cheney', $type_name = 'users')

/*** 刪除文件

* @param int $id

* @param string $index_name

* @param string $type_name

* @return array

*/public function delete_doc($id = 1, $index_name = 'cheney', $type_name = 'users')

/*** 查詢文件 (分頁,排序,權重,過濾)

php mysql實現全文檢索

參考原文 php mysql實現全文檢索 2013 02 18 10 47 40 分類 php php mysql實現utf8全文搜尋的方法 本文講解一下如何在海量的資料中能夠快速的進行全文檢索呢?mysql提供了乙個全文索引功能,也就是把字段設定上fulltext索引屬性,然後通過select的m...

PHP Sphinx MySQL實現全文檢索

sphinx 可以解決 站內搜尋的應用場景 用來生成索引資料,為後續的高效搜尋做鋪墊 sphinx 簡介 sphinx是乙個基於sql mysql sqlserver.的全文檢索引擎,它提供了比資料庫更加專業的搜尋功能,並且sphinx特別為一些指令碼語言設計了搜尋的api介面嗎,比如php rub...

django 實現全文檢索

全文檢索不同於特定欄位的模糊查詢,使用全文檢索的效率再高,並且能夠對於中文進行分詞處理。安裝包 pip install django haystack pip install whoosh pip install jieba修改settings檔案 haystack 全文檢索框架 全文檢索框架的配置...