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打包成 ...
随机推荐
- python编程【环境篇】- 如何优雅的管理python的版本
简介 之前的文章(Python2还是python3 )中我们提到,建议现在大家都采用python3,因为python2在今年年底将不在维护.但在实际的开发和使用python过程中,我们避免不了还得用到 ...
- p1594(巨坑题!!!)
护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥.因为街道是一条单行道,所以任何车辆都不能超车.桥能承受一个给定的最大承载量.为了控制桥上的交通,桥两边各站一个指挥员.护卫车队被分成几个组, ...
- ARM7中断的理解
谈谈对中断的理解? 中断是计算机中处理异步事件的重要机制 中断触发的方式: 1)中断源级设置 按键:(CPU之外的硬件) 设置中 ...
- css3 svg路径蒙版动画
css3 svg路径蒙版动画 具体看https://www.cnblogs.com/oubenruing/p/9568954.html 还有个更好控制的写法<pre><!DOCTYP ...
- 使用 Casbin 作为 ThinkPHP 的权限控制中间件
PHP-Casbin 是一个强大的.高效的开源访问控制框架,它支持基于各种访问控制模型的权限管理. Think-Casbin 是一个专为 ThinkPHP5.1 定制的 Casbin 的扩展包,使开发 ...
- Python数据挖掘入门与实战PDF电子版加源码
Python数据分析挖掘实战讲解和分析PDF加源码 链接: https://pan.baidu.com/s/1SkZR2lGFnwZiQNav-qrC4w 提取码: n3ud 好的资源就要共享,我会一 ...
- Python 面向对象-上篇
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...
- pat 1124 Raffle for Weibo Followers(20 分)
1124 Raffle for Weibo Followers(20 分) John got a full mark on PAT. He was so happy that he decided t ...
- 领扣(LeetCode)第三大的数 个人题解
给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...
- CentOS7和Ubuntu下安装Docker & Docker-Compose
本篇介绍如何在CentOS 7.6和Ubuntu 16.04下安装Docker & Docker-Compose. CentOS篇 安装Docker # cat /etc/redhat-rel ...