UBUNTU 14.04 LTS 安装 elasticseach
同步MYSQL表
并实现中文搜索

===========================================================================================

1、下载
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.1.deb

===========================================================================================

2、安装
dpkg -i elasticsearch-1.4.1.deb

===========================================================================================

3、启动脚本
Selecting previously unselected package elasticsearch.
(Reading database ... 90313 files and directories currently installed.)
Preparing to unpack elasticsearch-1.4.1.deb ...
Unpacking elasticsearch (1.4.1) ...
Setting up elasticsearch (1.4.1) ...
Adding system user `elasticsearch' (UID 107) ...
Adding new user `elasticsearch' (UID 107) with group `elasticsearch' ...
Not creating home directory `/usr/share/elasticsearch'.
### NOT starting elasticsearch by default on bootup, please execute
 sudo update-rc.d elasticsearch defaults 95 10
### In order to start elasticsearch, execute
 sudo /etc/init.d/elasticsearch start
Processing triggers for ureadahead (0.100.0-16) ...

===========================================================================================

4、安装JAVA
wget http://119.254.108.84:8080/jdk.tar.gz
tar zxvf jdk.tar.gz

sudo update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /opt/jdk/bin/jar 300
sudo update-alternatives --config java

vim /etc/profile
export JAVA_HOME=/opt/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

验证
java -version

===========================================================================================

5、校验是否启动

netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 690/sshd
tcp6 0 0 :::9200 :::* LISTEN 10610/java
tcp6 0 0 :::9300 :::* LISTEN 10610/java
tcp6 0 0 :::22 :::* LISTEN 690/sshd
tcp6 0 0 :::3000 :::* LISTEN 1584/pm2: Daemon
udp 0 0 0.0.0.0:43449 0.0.0.0:* 1149/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 1149/dhclient
udp6 0 0 :::12563 :::* 1149/dhclient
udp6 0 0 :::54328 :::* 10610/java
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 8720 1584/pm2: Daemon /root/.pm2/pub.sock
unix 2 [ ACC ] STREAM LISTENING 8721 1584/pm2: Daemon /root/.pm2/rpc.sock
unix 2 [ ACC ] SEQPACKET LISTENING 5391670 17731/systemd-udevd /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 10362 1/init @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 1641 833/acpid /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 9453 619/dbus-daemon /var/run/dbus/system_bus_socket

===========================================================================================

6、与MYSQL之间完成同步
http://blog.csdn.net/alen1985/article/details/41356361

官方地址:
https://github.com/jprante/elasticsearch-river-jdbc

6.1 去安装目录安装

cd /usr/share/elasticsearch/bin/

./plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip

root@node1:/usr/share/elasticsearch/bin# ./plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip
-> Installing jdbc...
Trying http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.3.4.4/elasticsearch-river-jdbc-1.3.4.4-plugin.zip...
Downloading ......................................................................DONE
Installed jdbc into /usr/share/elasticsearch/plugins/jdbc

---------------------------------------

6.2 下载mysql的driver

curl -o mysql-connector-java-5.1.33.zip -L 'http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.33.zip/from/http://cdn.mysql.com/'

---------------------------------------

6.3 拷贝jar包到指定目录
cp mysql-connector-java-5.1.33-bin.jar /usr/share/elasticsearch/plugins/jdbc/
cd /usr/share/elasticsearch/plugins/jdbc/
chmod 644 *

6.4 重启elasticsearch
sudo /etc/init.d/elasticsearch restart

6.5 出现主机名解析问题

改/etc/hostname

---------------------------------------

6.6 出现了插件错误

[2014-11-27 23:26:52,838][INFO ][node ] [Powderkeg] initializing ...
[2014-11-27 23:26:52,859][INFO ][plugins ] [Powderkeg] loaded [jdbc-1.3.4.4-d2e33c3], sites []
[2014-11-27 23:26:52,905][ERROR][bootstrap ] {1.4.1}: Initialization Failed ...
- IncompatibleClassChangeError[Implementing class]

./plugin --install jdbc --url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.4.0.3.Beta1/elasticsearch-river-jdbc-1.4.0.3.Beta1-plugin.zip

./plugin -r jdbc

service elasticsearch restart

OK,解决了
---------------------------------------

6.7 搞定同步

curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{
    "type" : "jdbc",
    "jdbc" : {
        "url" : "jdbc:mysql://192.168.60.5:3306/heike_product",
        "user" : "。。。。。。",
        "password" : "。。。。。",
        "sql" : "select * from product"
    }
}'

6.8 安装head插件
tail -f /var/log/elasticsearch/elasticsearch.log
cd /usr/share/elasticsearch/bin/
./plugin -install mobz/elasticsearch-head

6.9 卸载
service elasticsearch stop
apt-get remove elasticsearch

wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.3.4.deb
dpkg -i elasticsearch-1.3.4.deb
service elasticsearch restart

===================================================

7. node.js封装

http://www.elasticsearch.org/guide/en/elasticsearch/client/javascript-api/current/quick-start.html

var pageNum = request.param('page', 1);
var perPage = request.param('per_page', 15);
var userQuery = request.param('search_query');
var userId = request.session.userId;

client.search({
  index: 'posts',
  from: (pageNum - 1) * perPage,
  size: perPage,
  body: {
    filtered: {
      query: {
        match: {
          // match the query agains all of
          // the fields in the posts index
          _all: userQuery
        }
      },
      filter: {
        // only return documents that are
        // public or owned by the current user
        or: [
          {
            term: { privacy: "public" }
          },
          {
            term: { owner: userId }
          }
        ]
      }
    }
  }
}, function (error, response) {
  if (err) {
    // handle error
    return;
  }

response.render('search_results', {
    results: response.hits.hits,
    page: pageNum,
    pages: Math.ceil(response.hits.total / perPage)
  })
});

elasticsearch installation guide的更多相关文章

  1. Arch Linux Installation Guide

    Arch Linux Installation Guide   timedatectl set-ntp true   sed -i '/Score/{/China/!{n;s/^/#/}}' /etc ...

  2. P6 EPPM Manual Installation Guide (Oracle Database)

    P6 EPPM Manual Installation Guide (Oracle Database) P6 EPPM Manual Installation Guide (Oracle Databa ...

  3. .NET Core installation guide

      .NET Core installation guide 1.Download Visual Studio 2015 Make sure you have Visual Studio 2015 U ...

  4. 【英文文档】Solidifier for Windows Installation Guide

    Page 1Solidifier for Windows  Installation Guide Page 2McAfee, Inc.McAfee® Solidifier for Windows In ...

  5. Installation Guide Ubuntu 16.04

    Beside the installation guide on the main page, here is a guide to install GenieACS off a freshly in ...

  6. Ubuntu14.04 clang3.8 Installation Guide

    Reference Installing clang 3.8 on Ubuntu 14.04.3. Ubuntu14.04 clang3.8 Installation Guide 1.add the ...

  7. Installation Guide of Ubuntu 14.04, 64bit on Dell Server

    Installation Guide of Ubuntu 14.04, 64bit on Dell Server 准备:U盘(已通过ultraiso刻录ISO镜像). 1.插入U盘: 2.启动服务器, ...

  8. Oracle Grid Infrastructure Installation Guide for Linux 以debug模式安装并记录日志

    最新文章:Virson's Blog 使用如下命令能够以debug模式安装Oracle Grid并将日志记录到文件 [grid@vdb1 11ggrid]$ ./runInstaller -debug ...

  9. Installation Guide for Appium 1.6.3

    A.) System Requirements : - Require node 4 or above Xcode 8 iOS 10 B.) Open terminal and type follow ...

随机推荐

  1. [转]ASP.NET MVC Dynamic Themes

    本文转自:http://www.codeproject.com/Articles/32847/ASP-NET-MVC-Dynamic-Themes Download source code - 148 ...

  2. 2014 UESTC暑前集训数据结构专题解题报告

    A.Islands 这种联通块的问题一看就知道是并查集的思想. 做法:从高水位到低水位依序进行操作,这样每次都有新的块浮出水面,可以在前面的基础上进行合并集合的操作.给每个位置分配一个数字,方便合并集 ...

  3. Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)

    在视频程序的编写过程中,我们经常要使用摄像头,在使用摄像头前有必要对摄像头的现有状态做个检测: 1.被占用 2.没安装摄像头 3.正常 camera=Camera.getCamera();       ...

  4. Jmeter :多个jmeter如何参数化获取不同的CSV文件

    如何为不同的jmeter engine建立不同的csv文件: 1.如果需要多个jmeter engine 去读取不同的csv文件,可以使用一个变量去区分 ${__P(InstanceID)},  in ...

  5. 利用 Process Monitor 找出某个 Windows 选项所对应的注册表值

    多 时候我们要调整一项 Windows 的功能时只需更改一下注册表即可实现.而很多大家眼中所谓的高手,对 Windows 注册表更是玩得出神入化.难道这些高手把 Windows 注册表都记下来了?答案 ...

  6. svn那些错误

    一.提交.a文件 第一种方法: 1. 通常选择svn的commit后一般不会上传.a文件. 2. 选中要上传的.a文件,右击选择Add Working Copy. 3. 然后再点击commit,就可以 ...

  7. $.data(data , "")

    今天在二次开发的时候,看到源代码的新闻列表是Aajax获取的,点击新闻内容触发编辑,我没有看到新闻Id却能查到信息. 观看$.ajax遍历赋值过程中,$tr("<a>新闻内容&l ...

  8. sql问题集合

    1.sqlparameter @ 写在from前面

  9. 假设检验:p-value,FDR,q-value

    来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPH ...

  10. 【转】【MySql】mysql存储过程中的异常处理

    定义异常捕获类型及处理方法: DECLARE handler_action HANDLER FOR condition_value [, condition_value] ... statement ...