标签:arch 两种方法 icon 自启 restart word var 文件 return
Linux
使用 docker
下搭建 xunsearch 搜索引擎服务docker
环境(菜鸟教程有说明)
xunsearch
的服务端:docker安装xunsearch说明
docker
安装完毕后,开始安装xunsearch
镜像docker pull hightman/xunsearch
//镜像非开机自启
docker run --name xunsearch -d -p 8383:8383 -p 8384:8384 -v /var/xunsearch/data:/usr/local/xunsearch/data hightman/xunsearch:latest
//镜像开机自启 此外要配置 docker 服务开机自启动
添加容器在docker运行时自动启有两种方法
1.在使用docker run时,添加下面参数
--restart=always
2.在运行docker的时候添加
docker update --restart=always 容器id
开始使用,以 YII2
为例:
composer
安装: composer require hightman/xunsearch
安装说明
生成配置文件,可根据文档自己手写一份,配置文件简单清晰。我的配置:
user_id | name |
---|---|
1 | 张三 |
2 | 李四 |
3 | 王五 |
... | ... |
project.name = user
project.default_charset = utf-8
server.index = 8383
server.search = 8384
[user_id]
type = id
[name]
index = self
tokenizer = default
这里只使用了用户id和名称
<?php
namespace console\helper;
use Yii;
class UserXunSearch
{
/**
* 创建文档
* createDoc
*/
public static function createDoc()
{
try {
$userData = []; //数据自己查一下
/**
* @var $xunSearch \hightman\xunsearch\ConnectionYII2,
*/
$xunSearch = Yii::$app->xunsearch;
$db = $xunSearch->getDatabase('user');
$db->charset = 'UTF-8';
$db->createDoc();
foreach ($userData as $user){
//添加文档 http://www.xunsearch.com/doc/php/guide/index.add
$db->add([
'user_id' => $user['user_id'],
'name' => $user['name'],
]);
}
return true;
}catch (\Exception $e){
Yii::error($e->getMessage());
return false;
}
}
/**
* 搜索内容
* search
* @param $keyword
* @return bool|\XSDocument[]
*/
public static function search($keyword)
{
try {
/**
* @var $xunSearch \hightman\xunsearch\Connection
*/
$xunSearch = Yii::$app->xunsearch;
$db = $xunSearch->getDatabase('user');
return $db->xs->getSearch()
->setQuery('name:'.$keyword) // 构建搜索语句 http://www.xunsearch.com/doc/php/guide/search.query
->search();
}catch (\Exception $e){
Yii::error($e->getMessage());
return false;
}
}
}
Linux 使用 docker 下搭建xunsearch 搜索引擎服务
标签:arch 两种方法 icon 自启 restart word var 文件 return
原文地址:https://www.cnblogs.com/stringfade/p/12012497.html