Linux 使用 docker 下搭建xunsearch 搜索引擎服务
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;
}
} }
- 插件很友善了提供了AR操作,小中型项目确实是不错的选择。
Linux 使用 docker 下搭建xunsearch 搜索引擎服务的更多相关文章
- Docker+Gogs搭建个人Git服务
欢迎 经常使用Github的我,Github它功能强大,操作简单,不用FQ,所以大家会使用Github进行代码托管,但是,Github的私仓收费的,而且对于普通个人用户来说,价格也不便宜.很多人搭建自 ...
- 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库
本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...
- kali linux 2.0下搭建DVWA渗透测试演练平台
DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...
- 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)
前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...
- 在Linux的Eclipse下搭建Android环境
http://blog.csdn.net/lyonte/article/details/6407242 一.Java环境安装配置详见<在Linux下搭建Java环境>http://blog ...
- docker下搭建owncloud
在ubuntu下 搭建owncloud 用docker-compose启动,owncloud.yml文件内容 owncloud: image: owncloud: restart: always 开机 ...
- [转载] linux、Solaris下xdmcp远程桌面服务
原文链接 http://youlvconglin.blog.163.com/blog/static/52320420106243857254/ 使用图形界面远程登录linux和Solaris,首先要在 ...
- docker下搭建fastfds
https://blog.csdn.net/weixin_40247263/article/details/81087726 搭建过程参考 作者 https://me.csdn.net/feng_qi ...
- docker下搭建fastfds集群版
搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成 ...
随机推荐
- numpy.array 中的运算
简单运算 现在有有个需求,给定一个数组,让数组中每一个数乘以2,怎么做呢 n = 10 L = [i for i in range(n)] L # [0, 1, 2, 3, 4, 5, 6, 7, 8 ...
- [考试反思]1026csp-s模拟测试88:发展
不用你们说,我自己来:我颓闪存我没脸. 昨天的想法, 今天的回答. 生存, 发展. 总分榜应该稍有回升,但是和上面的差距肯定还是很大. 继续. 为昨天的谬误,承担代价. T2和T3都值得张记性. T2 ...
- C 总结 | 复习注意点
1.1 C预处理 常见错误 预处理错误 #include "" 和 <> 使用错误 "No such....." 更改“” 或者<> 或 ...
- 2.4g和5g无线使用频率
- php PDO getlastsql写法
php PDO getlastsql写法有些时候 运行失败需要查看 sql语句 原型有没有语法错误 这个时候就用 下面的函数就是把问号替换成 值 就可以看到原型了<pre>function ...
- jquery mobiscroll移动端日期选择控件(无乱码)
jquery mobiscroll移动端日期选择控件(无乱码) <pre><!DOCTYPE html><html lang="en">< ...
- TRANK和VTP
需求:因为公司规模逐渐扩大,出现相同部门不同办公室的情况,老板提出新的要求:相同部门可以通信,不同部门不能通信. 利用vlan: 缺点:浪费材料,应用技术手段把两条交叉线变成一条. 因此,引进trun ...
- PHP队列的实现详细操作步骤
队列是一种特殊的线性表,它只允许在表的前端,可以称之为front,进行删除操作:而在表的后端,可以称之为rear进行插入操作.队列和堆栈一样,是一种操作受限制的线性表,和堆栈不同之处在于:队列是遵循“ ...
- 我的第一个 60 k+ Star Java开源项目
JavaGuide([Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识):https://github.com/Snailclimb/JavaGuide. 人生总有各种各样的 ...
- expect 自动填充密码
它的脚本以#!/usr/bin/expect开头,执行时用expoct,而不是bash.我的一个给samba自动创建用户并且自动填写默认密码的脚本如下: vim smb_passwd.exp #!/u ...