ubuntu安装elasticsearch&简单使用

先安装一下jdk8

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
$ java -version
  1. 点击下载 官网下载地址
$ wget 'https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.1.1/elasticsearch-2.1.1.zip'

2.解压

unzip elasticsearch-2.1.1.zip

3.启动

bin/elasticsearch

4.简单使用:

require "elasticsearch"
require "hashie"

$client = Elasticsearch::Client.new hosts: [ 'localhost:9200' ], randomize_hosts: true

#创建索引
def create_index
  $client.indices.create index: 'weibo', body: {
    settings: {
      index: {
        number_of_shards: 10,
        number_of_replicas: 1
      }
    },
    mappings: {
      weibo: {
        _all: {
          analyzer: "ik_max_word",
          search_analyzer: "ik_max_word",
        },
        properties: {
          content: { type: 'string', analyzer: 'ik_max_word',  search_analyzer: 'ik_max_word' },
          tags: { type: 'string', index: "not_analyzed" },
          site_user: { type: 'string', index: 'not_analyzed' },
          created_time: { type: 'integer' },
          created_date: { type: 'string', index: 'not_analyzed' },
        }
      }
    }
  }
end


#添加单条数据
def test_single_index
  $client.index index: 'weibo', type: 'weibo', id: '1', body: {
    content: '主持人说,最近周杰伦宣传期接受了一些采访,你知道吗,他说“没有人会不喜欢你.”昆凌听后还在哭[泪] 祝福你和杰伦能永远幸福下去!倒计时14天~',
    tags: [ '周杰伦', '昆凌' ],
    site_user: 'BettyHu-',
    created_time: 1420435348,
    created_date: '20150105'
  }
end


#添加多条数据
def test_bulk_index
  $client.bulk body:[
    { index: {_index: 'weibo', _type: 'weibo', _id: '5', data: {
                content: '记住,任何人都没有权利剥夺或者讽刺一个人喜欢一个偶像的权利。 ',
                tags: [ '周杰伦', '偶像' ],
                site_user: '慕君',
                created_time: 1420436338,
                created_date: '20150105'
    } } },
    { index: {_index: 'weibo', _type: 'weibo', _id: '6', data: {
                content: '周杰伦签售会再三强调歌迷要注意安全,为歌迷连续七八个小时签了一万多本 ',
                tags: [ '周杰伦', '偶像', '歌迷' ],
                site_user: '橙_',
                created_time: 1420436594,
                created_date: '20150105'
    } } },
    { index: {_index: 'weibo', _type: 'weibo', _id: '7', data: {
                content: '“听妈妈的话,快快长大。。。”',
                tags: [ '周杰伦' ],
                site_user: '眼角飞过',
                created_time: 1420436058,
                created_date: '20150105'
    } } }
    # { update: { _index: 'weibo', _type: 'weibo', _id: 2, data: { doc: { site_user: '陌_1' } } } },
    # { delete: { _index: 'weibo', _type: 'weibo', _id: 3  } }
    # ...
    # ...
  ]
end


#查询
def test_search
  # multi index "index1, index2, indexN.."
  response = $client.search index: 'weibo', body: {
    query: {
        match: {content:'周杰伦'}
        # bool:{
        #     must: [
        #         { term: {tags: '周杰伦'}},
        #         { match: {content: '周杰伦'}}
        #     ]
        },
        aggregations: {
            tags: {
                terms: {field: 'tags'}
                },
            min_time: {
                min: {field: 'created_time'}
            },

            stats_time:{
                stats: {field:'created_time'}
                },
            value_count: {
                value_count: {field: 'created_time'}
            }
        }
  }

mash = Hashie::Mash.new response
# puts mash.hits.hits.first._source.site_user
# puts
puts mash.aggregations.tags.buckets.collect{|x| [x['key'],x['doc_count']]}.to_h
end





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值