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

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

    链接

  3. 开始使用,以 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操作,小中型项目确实是不错的选择。

原文地址:https://www.cnblogs.com/stringfade/p/12012497.html

时间: 2024-11-08 03:57:52

Linux 使用 docker 下搭建xunsearch 搜索引擎服务的相关文章

在Docker下搭建Apache+PHP+mysql环境的过程记录

在Docker下搭建Apache+PHP+mysql环境的过程记录 这是一篇搭建Docker环境的过程记录,方便以后查看.主要记录了搭建所用到的工具,使用的命令和遇到的坑. 1. 安装Docker 第一步肯定是到Docker的官网(https://www.docker.com)上去下载安装包,目前有CE和EE两个版本,简单来说,CE就是免费版,EE就是收费版.因为我用的是Windows系统,这里就只讲在Windows系统上怎么安装. 也可以点这里直接下载Windows版.下好之后运行安装. 因为

在Docker下搭建Spark+HDFS集群

在Docker下搭建Spark+HDFS集群 1.      在VM中安装Ubuntu OS并实现root登录 (http://jingyan.baidu.com/article/148a1921a06bcb4d71c3b1af.html) 安装Vm增强工具 http://www.jb51.net/softjc/189149.html 2.      安装Docker docker安装方法一 ubuntu14.04以上的版本都是自带docker安装包的:所以可以直接安装:但是这个一般不是最先版本

Docker下搭建gitlab

一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库 官网: https://about.gitlab.com/ https://github.com/gitlabhq/gitlabhq 截止本文创建时间,GitLab最新版本为v7.4.3 二.组件 7.4.3之前版本,镜像里包含所有组件,7.4.3版本镜像里只包含核心组件:nginx.s

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

原文链接 http://youlvconglin.blog.163.com/blog/static/52320420106243857254/ 使用图形界面远程登录linux和Solaris,首先要在服务端开启xdmcp服务,windows下使用xmanager连接 Ubuntu下则使用下默认也安装了该客户端,一次打开[应用程序]-[internet]-[终端服务客户端(Terminal Server Client)]或者在命令行输入tsclient,在常规标签中的协议选项可以看到XDMCP,只

Linux下搭建SMB文件共享服务,Linux/Windows互联互通

一丶简介:SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138.139两个端口的服务,NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统.这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block) 协议,这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享 打印机和文件等.因此,为了让Windows和Unix/Linux计算机相集成,

docker下搭建fastfds集群版

搭建过程参考 作者 https://me.csdn.net/feng_qi_1984 的课程视频 声明:集群版是在我之前写的单机版基础之上进行搭建的,我将安装了fastfds单机版的docker打包成了镜像. 如对fastfds搭建流程不熟悉者,需先参阅之前的文章.点击进入文章 首先借鉴一个公众号的两张图来说明一下 fastfds 上传下载的流程,公众号为 "Java架构师之路" 我搭建的思路是,两个tracker.四个storage,然后通过nginx进行反向代理访问图片. 下面演示

linux(ubuntu12.04)下搭建负载均衡和tomcat集群

上一篇博客我们搭建了nginx+tomcat的服务器配置,可是实现静态和动态分离,但是只有一个tomcat. 所以,接下来在我们的机器上搭建多个tomcat,首先我们先复制一份以前的tomcat(我的tomcat是在/usr/local/下),执行命令 cp /usr/local/tomcat1 /usr/local/tomcat2 应为要两个不同的tomcat使用不同的环境变量,所以我们需要修改/etc/profile的文件配置信息 sudo gedit /etc/profile 然后修改成这

centos7环境下搭建与配置服务:ftp、Bind、DHCP、SAMBA、LNMP、LAMP、tomca

1.ftp (1)使用yum安装 vsftpd ftp [[email protected] /]#  yum install -y ftp vsftpd* (2)备份vsftpd原有配置文件 [[email protected] /]#  cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.old (3)创建密码明文文件 [[email protected] /]# vim /etc/vsftpd/vftpuser.txt aochuanfei

Linux(ubuntu12.04)下搭建Nginx+Tomcat

首先是安装包的准备nginx7.9:下载nginx  |tomcat7.0下载tomcat  |JDk下载JDK7.0 Nginx的优点太多太多,比apache好很多,更加稳定,功能更加强悍,越来越多的开发人员选择使用nginx来替代apache!! 具体查看这篇文章http://blog.csdn.net/a454211787/article/details/22494485 首先,我们配置jdk,下载好jdk之后,我的默认实在download下面,然后使用linux命令解压 $tar zxv