1. ES的不同之处:   全文检索、处理同义词、通过相关性给文档评分, 从同样的数据中生成分析与聚合数据, 实时大型批处理。

安装es与kibana

1、下载:https://www.elastic.co/downloads/elasticsearch 
2、解压到d:\elasticsearch-2.3.3目录
3、配置Elasticsearch
(1)配置 config\elasticsearch.yml文件
cluster.name: lgs-es
node.name: node-1
(2)配置 bin\elasticsearch.in.bat文件
set ES_MIN_MEM=4g
set ES_MAX_MEM=4g
4、运行服务
双击 bin\elasticsearch.bat 运行

2、安装kibana插件
(1)下载地址: https://www.elastic.co/downloads/kibana
(2)解压到d:\kibana-4.5.1-windows目录
(3)配置config\kibana.yml文件
elasticsearch.url: "http://localhost:9200"
(4)bin\kibana.bat //启动kibana
(5)浏览器输入http://localhost:5601

2. 查看集群状态:

http://localhost:9200/_cluster/health

3. 设置分片:   它本身就是一个完整的搜索引擎, 我们的文档被存储和索引到分片内,但是应用程序是直接与索引而不是与分片进行交互

PUT /blogs
{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 1
}
}

  

4. 设置存储:

_index : 一个索引仅仅是逻辑上的命名空间, 这个命名空间由一个或者多个分片组合在一起。

_type :  types 的文档可能有不同的字段,但最好能够非常相似。

ID :  是一个字符串, 当它和 _index 以及 _type 组合就可以唯一确定 Elasticsearch 中的一个文档。 当你创建一个新的文档,要么提供自己的 _id ,要么让 Elasticsearch 帮你生成。

  

5. 分布式存储:

分片规则::   shard = hash(routing) % number_of_primary_shards       routing: 文档 _id

6. 搜索:

/_all/u*,tweet/_search           在多索引搜索
GET /_search?size=5&from=5 分页
GET /_search?q=mary 查询所有包含 mary 字符串的文档 GET /_search 匹配查询
{
"query": {
"match": {
"tweet": "elasticsearch"
}
}
} { 合并查询
"bool": {
"must": { "match": { "tweet": "elasticsearch" }},
"must_not": { "match": { "name": "mary" }},
"should": { "match": { "tweet": "full text" }},
"filter": { "range": { "age" : { "gt" : 30 }} }
}
} GET /_search 多级排序查询
{
"query" : {
"bool" : {
"must": { "match": { "tweet": "manage text search" }},
"filter" : { "term" : { "user_id" : 2 }}
}
},
"sort": [
{ "date": { "order": "desc" }},
{ "_score": { "order": "desc" }}
]
}

  

 

7. Mapping结构

  

8. 使用分析器:

GET /_analyze
{
"analyzer": "standard",
"text": "Text to analyze" 要分析(分词)的文本
}

  

9. 语言处理

GET /my_index/my_type/_search
{
"query": { 短语查询 slop 参数告诉 match_phrase 查询词条相隔多远时仍然能将文档视为匹配
"match_phrase": {
"title": {
"query": "quick fox",
"slop": 1
}
}
}
} GET /my_index/my_type/_search
{
"query": {
"bool": {
"must": { must 子句从结果集中包含或者排除文档
"match": {
"title": {
"query": "quick brown fox",
"minimum_should_match": "30%"
}
}
},
"should": { should 子句增加了匹配到文档的相关度评分。
"match_phrase": {
"title": {
"query": "quick brown fox",
"slop": 50
}
}
}
}
}
} GET /my_index/address/_search
{
"query": {
"regexp": { 正则查询
"postcode": "W[0-9].+" }
}
} {
"match_phrase_prefix" : { 即时查询: 相当于 walker johnnie bl*
"brand" : {
"query": "walker johnnie bl", "slop": 10
}
}
}
PUT /my_index/my_type/_mapping 为索引与搜索构建不同的索引
{
"my_type": {
"properties": {
"name": {
"type": "string",
"index_analyzer": "autocomplete", "search_analyzer": "standard" }
}
}
}

  

  


10. 实践
GET /news/test/_search
{
"query": {
"match_phrase": {
"content": {
"query": "活动 后勤",
"slop": 20
}
}
}
} GET /_analyze
{
"analyzer": "standard",
"text": "Text to analyze"
} GET /news/test/_mapping PUT /test/test/1
{
"bookId":1,
"bookName":"Java程序设计",
"publishDate":"2018-01-12"
} PUT /test/
{
"mappings":{
"books": {
"properties": {
"bookId": {"type": "text"},
"bookName": {"type": "text"},
"publishDate": {"type": "date"}
}
}
}
} GET /test/books/_mapping GET _cat/indices DELETE /books #mapping可以新增 不能更改
PUT /test/books/_mapping
{
"books": {
"properties": {
"bookName2": {
"type": "text",
"analyzer": "english",
"search_analyzer": "standard" }
}
}
}

  


ES 应用的更多相关文章

  1. 【AR实验室】OpenGL ES绘制相机(OpenGL ES 1.0版本)

    0x00 - 前言 之前做一些移动端的AR应用以及目前看到的一些AR应用,基本上都是这样一个套路:手机背景显示现实场景,然后在该背景上进行图形学绘制.至于图形学绘制时,相机外参的解算使用的是V-SLA ...

  2. OpenGL ES 3.0: 图元重启(Primitive restart)

    [TOC] 背景概述 在OpenGL绘制图形时,可能需要绘制多个并不相连的图形.这样的情况下这几个图形没法被当做一个图形来处理.也就需要多次调用 DrawArrays 或 DrawElements. ...

  3. 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路

    最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客 ...

  4. ES 学习总结

    ES 总结: es 是基于lucene的, 是java 实现的, 很多概念和lucene是相同的 索引-- 对应数据库的表,mongoDB中的集合 文档,由字段组成, 一个字段可以出现多次. 字段,其 ...

  5. ES性能测试

    测试背景   因为ES(ElasticSearch)前段时间查询效率有点慢,技术小组对索引做了一些改动,因此需要测试一下修改后的查询效率,跟之前的结果做一下对比,所以有了这次测试.   需求简述   ...

  6. [翻译]ES 提案: global

    Jordan Harband 的 ECMAScript 提案“global”现在处于第三阶段.该提案提供了一种新的用于访问全局对象的标准方式. 全局对象的引用 下面是常用的几种引用全局对象的方式: 全 ...

  7. ElasticSearch+ElasticGeo+Geoserver发布ES地理数据

    依赖GeoserverElasticSearchElasticGeo部署部署ElasticGeo使用创建ES数据源并发布发布 依赖 Geoserver 环境搭建参考: ElasticSearch 环境 ...

  8. opengl es中不同的绘制方式

    opengl es中不同的绘制方式 转载请保留出处:http://xiaxveliang.blog.163.com/blog/static/297080342013467344263/ 1. GL_P ...

  9. es查询命令备份(只需要网页9200/_plugin/head/就可以访问)

    本文只是写一些常用es命令,这里不用任何客户端,只用 9200/_plugin/head/ 那个端口网页就可以,然后是复合查询. 注意es其实一个idnex只能有一个type,如果一个index做了多 ...

  10. lucene和es总结

    一.首先介绍lucene涉及到的排序过程 1.1.如何自定义排序对象 你可以自定义collector对象: 亦可以自定义comparator对象: 可以自定义scoredoc对象,决定如何处理结果集合 ...

随机推荐

  1. Linux下Redis服务器搭建

    系统环境 操作系统:CentOS 6.9 redis版本:redis-4.0.2 安装步骤 1,安装预环境 运行以下命令安装预环境. [root@redis02 redis-4.0.2]# yum - ...

  2. 廖雪峰老师博客学习《通过生成器generator生成列表式杨辉三角》

    说明:这是我接触生成器概念后,自己对它的理解,可能比较表面,没深入理解,也可能有错误.后续校正错误认知,将有关generator作为一个tag了! 希望以后能活用. 先贴出自己写的triangles( ...

  3. java SPI机制

    1. SPI是Service Provider Interfaces的简称.根据Java的SPI规范,我们可以定义一个服务接口,具体的实现由对应的实现者去提供,即Service Provider(服务 ...

  4. vue结合axios使用入门

    Vue官方推荐的网络通信库不再是vue-resource了,推荐使用axios axios安装 npm: $ npm install axios bower: $ bower install axio ...

  5. Dynamics 365创建用户提示:您正在尝试使用已由其他用户使用的域登录来创建用户。如何解决。

    摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复287或者20181128可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...

  6. Vsphere 回收未消使用的磁盘空间

    下载sdelete.exe 执行 sdelete.exe -z E: ,然后又恢复为原可用空间 关机   SHH进入物理主机,找到对应的虚机文件 执行vmkfstools -K test-Win200 ...

  7. Android ION内存分配

    The Android ION memory allocator 英文原文 ION heaps ION设计的目标 为了避免内存碎片化,或者为一些有着特殊内存需求的硬件,比如GPUs.display c ...

  8. Python浅谈requests三方库

    requests 三方库用于获取URL资源 1.GET请求访问一个页面 import requests r = requests.get('https://www.cnblogs.com/xqxacm ...

  9. 学习安卓开发[3] - 使用RecyclerView显示列表

    在上一篇学习安卓开发[2] - 在Activity中托管Fragment中了解了使用Fragment的好处和方法,本次记录的是在进行列表展示时RecyclerView的使用. RecyclerView ...

  10. asp.net网页上获取其中表格中的数据(爬数据)

    下面的方法获取页面中表格数据,每个页面不相同,获取的方式(主要是正则表达式)不一样,只是提供方法参考.大神勿喷,刚使用了,就记下来了. 其中数据怎么存,主要就看着怎么使用了.只是方便记录就都放在lis ...