Linux 使用 docker 下搭建 xunsearch 搜索引擎服务

  1. 安装 docker 环境(菜鸟教程有说明)

  2. 下载并运行 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

链接

  1. 开始使用,以 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 搜索引擎服务的更多相关文章

  1. Docker+Gogs搭建个人Git服务

    欢迎 经常使用Github的我,Github它功能强大,操作简单,不用FQ,所以大家会使用Github进行代码托管,但是,Github的私仓收费的,而且对于普通个人用户来说,价格也不便宜.很多人搭建自 ...

  2. 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库

    本章是<实战maven私有仓库>系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面 ...

  3. kali linux 2.0下搭建DVWA渗透测试演练平台

    DVWA (Dam Vulnerable Web Application)DVWA是用PHP+MySQL编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.盲注等常 ...

  4. 在Docker下搭建MySQL双主双重集群(单机展示,与多机原理一致)

    前言 Docker的安装部署&在Docker下MySQL的安装与配置 https://www.cnblogs.com/yumq/p/14253360.html 在Docker进行单机主从复制M ...

  5. 在Linux的Eclipse下搭建Android环境

    http://blog.csdn.net/lyonte/article/details/6407242 一.Java环境安装配置详见<在Linux下搭建Java环境>http://blog ...

  6. docker下搭建owncloud

    在ubuntu下 搭建owncloud 用docker-compose启动,owncloud.yml文件内容 owncloud: image: owncloud: restart: always 开机 ...

  7. [转载] linux、Solaris下xdmcp远程桌面服务

    原文链接 http://youlvconglin.blog.163.com/blog/static/52320420106243857254/ 使用图形界面远程登录linux和Solaris,首先要在 ...

  8. docker下搭建fastfds

    https://blog.csdn.net/weixin_40247263/article/details/81087726 搭建过程参考 作者 https://me.csdn.net/feng_qi ...

  9. docker下搭建fastfds集群版

    搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成 ...

随机推荐

  1. KETTLE常见问题和优化

    1.创建MySQL空资源库报错问题:因为boolean类型的问题,Mysql中的boolean类型实际上保存为TINYINT,需要手动的修改生成资源库的sql脚本,将其中的插入用户ENABLED的值由 ...

  2. mybatis +Spring MVC学习起来好轻松

    领教了. http://blog.csdn.net/techbirds_bao/article/details/9233599/

  3. csps模拟测试50反思

    又考崩了,T1一眼秒掉错误思路,然后迅速码完,并码完错误暴力,对拍拍上,以为AC.T2想到了二维莫队,发现是子任务就没去打,一直在想别的,T3最后想到60分打法,没有打完,也没时间暴力,挂掉.T2还有 ...

  4. 【Spdy协议简介】

    一.SPDY协议诞生记 SPDY (SPDY 是 Speedy 的昵音,意思是更快)是 Google 开发的基于传输控制协议 (TCP) 的应用层协议 ,那么为什么要搞一个SPDY出来呢?距离万维网之 ...

  5. 极光推送(JPush)开篇

    Date:2019-11-11 读前思考: 极光推送是什么? 极光推送是能做什么?有什么优势? 怎么根据业务需求来实现极光推送服务呢? 简介 极光推送(JPush)是独立的第三方云推送平台,致力于为全 ...

  6. MQ基本应用场景

    简介 消息队列 MQ 既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积.高吞吐.可靠重试等特性. 应用场景 削峰填谷:诸如秒杀.抢红包.企业开门红等大型活动时皆 ...

  7. GitHub 发布了官方 App,还打算冰封你的代码一千年

    11 月 13 日,GitHub Universe 2019 开发者大会上,公布了大量新功能,包括发布 GitHub 移动版.GitHub Actions 和 Packages 正式版上市.重新设计了 ...

  8. nyoj 198-数数 (python, string[::-1])

    198-数数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:16 提交数:25 难度:2 题目描述: 我们平时数数都是喜欢从左向右数的,但是我们的小白同学最近听说德国人数数和我们有 ...

  9. GCD 面试题

    今天我们讲解几道这两天遇到的面试题--GCD编程的.题目很不错,很考究关于GCD的基本概念和使用. 对于基本的概念,本人博客已在前面讲过,本篇主要以面试题来讲解.大家可看一下本人关于GCD的基本讲解  ...

  10. 【Spring】简述@Configuration配置类注册BeanDefinition到Spring容器的过程

    概述 本文以SpringBoot应用为基础,尝试分析基于注解@Configuration的配置类是如何向Spring容器注册BeanDefinition的过程 其中主要分析了 Configuratio ...