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. 复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符及在vim中设置tab缩进为4个字符

    1.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符 在命令模式下,使用正则表达式匹配 行首有空白字符行的模式:^[[:space:]] ...

  2. 使用Typescript重构axios(八)——实现基础功能:处理响应data

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  3. 洛谷 pP2146 [NOI2015]软件包管理器

    题目的传送门 题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖( ...

  4. 百度艾尼ERNIE专场再入魔都,11月23日线下开讲!

    这个十一月,是属于深度学习开发者们的秋季盛宴.『WAVE Summit+』2019 深度学习开发者秋季峰会刚刚落下帷幕,基于ERNIE的语义理解工具套件也在此次峰会上全新发布,旨在为企业级开发者提供更 ...

  5. 最新开源JavaScript 图表库 ECharts推荐

    ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. ECharts 提供大量常用的数据可视化图表,底层基于Z ...

  6. Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装

    Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装 简介 Magicodes.Pay,是心莱科技团队提供的统一支付库,相关库均使用.NET标准库编写,支持.NET Framew ...

  7. Linux命令实战(二)

    1.printf格式化输出(format and print data) 语法:printf(选项)(参数) 参数 输出格式:指定数据输出时的格式: 输出字符串:指定要输出的数据. 格式替代符 %c ...

  8. Havok Physics 2012(1)

    目录 Chapter 1. Introduction 1. What is a Physics Engine? Chapter 1. Introduction ​ 欢迎来到Havok Physics ...

  9. 浅析ORACLE中NVL/NVL2/DECODE/CASE WHEN的用法

    使用NVL的时候只能对值进行是否为空的判断,基本语法是NVL( 值1, ,结果2).它的功能是如果值1为空,则此函数返回结果2,不为空的话直接输出值1(如果两个参数都为空,那么还是返回空): NVL2 ...

  10. phpStudy中MySQL版本升级到5.7.17方法

    本文主要给大家介绍了关于phpStudy中升级MySQL版本到5.7.17的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧.希望能帮 ...