elaticseach

可视化界面:Kibana

1.jdk环境

2.elacsticseach,默认1g内存,可以修改

3.ik smart  分词器

增:put/post   /索引/类型/id

删 :delect  /索引

改:put/post   /索引/类型/id

查:GET   /索引/类型/id

     /索引/类型/id?version=1        根据版本查询

          /索引/类型/_seach                   查询所有类型数据

      /索引/类型/_mget {

      'ids':["1","2"]                       查询多个id值

    }        

    /索引/类型/id?q=age:21            查询年龄21岁

    /索引/类型/id?q=age[30 TO 60]  查询30-60岁之间的

    /索引/类型/id?q=age[30 TO 60] &sort=age:desc  降序排列查询

    /索引/类型/id?q=age[30 TO 60] &sort=age:desc&from=0&size=2  查询30-60岁之间的前面两条数据

DSL查询: term和match 

term:精确查询

 /索引/类型/_seach 

  {

    ”query":{
                        "term":{
                             "name":"xiaohong"
                        }
    
     }
  }       

like:模糊查询

match:会对“奥迪”进行字段分词查询

 /索引/类型/_seach 
  分页查询两条
  {
    "form":0,
    "size":2,
    ”query":{ "match":{ "name":"奥迪" }      }   }

 

 

 

 9200和9300端口区别:

9300:内部通讯,内部集群走tcp协议

9200:外部通讯,rsetful接口

 

倒排索引:

利用关键词(分词器)进行查询

 

分词设备:

引入国内-es-ik插件

https://github.com/medcl/elasticsearch-analysis-ik/releases

POST _analyze
{

"analyzer":"ik_smart",

"text":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"

}

 

自定义关键词:

在ik文件夹的config里IKAnalyzer.cfg.xml添加扩展

<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">文件路径.dic</entry>

 

7版本以后类型(type)移除

 

string 类型分text(可以分词查询)和keyword(不能分词查询)

整修默认是:long类型

 

可以定义文档映射类型(一般默认文档)

查看类型:GET /test/_mapping/user

更改类型:/test/_mapping/user{

      修改的类型

      }

 

分布式集群服务:分主分片和副分片为了容错性高

会将单台索引文件分片到集群中

 

创建索引后,主分片数量定义好后不能修改数量(低层路由算法:p= shard = hash(routing==文档id)%主分片)  p1=1%3=1

                                                    p2=2%3

                                                                                                                  p3=3%3

副分片分配后可以修改数量

主分片和副分片不能再同一个节点上。

不定义副分片数量时:主分片和副分片数量相等。

水平扩展:主分片+副分片要均摊分配到不同的节点上(3个节点,6个主+副分片,6/3每个节点分两个,这种宕机2个节点就会出现数据丢失,所以定义(节点的平方)-主分片=副分片个数,总共分片是节点的平方)

 

参考文章:https://www.cnblogs.com/leeSmall/category/1210814.html

posted @ 2019-07-25 12:31  星云惊蛰  阅读(147)  评论(0)    收藏  举报