美文网首页
elasticsearch的使用

elasticsearch的使用

作者: Antoneo | 来源:发表于2018-09-12 18:03 被阅读61次

    下载地址:https://www.elastic.co/downloads/elasticsearch

    elastic版本为6.3,当前使用的jdk1.8
    启动:
      windows : bin/elasticsearch或者bin/elasticsearch.bat  
      linux:  ./bin/elasticsearch
    linux下需要注意一下,不能以root用户来启动elastic,还有可能出现一下错误:

         ERROR: [2] bootstrap checks failed
         [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
         [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    

    ①编辑 /etc/security/limits.conf,追加以下内容;

    * soft nofile 65536
    * hard nofile 65536
    

    ②此文件修改后需要重新登录用户,才会生效
    编辑 /etc/sysctl.conf,追加以下内容:
    vm.max_map_count=655360
    保存后,执行:
    sysctl -p
    重新启动,成功。

    curl方式的话windows下需要安装curl(https://curl.haxx.se/download.html)记得一定要配置环境变量啊,以及安装liblconv(https://sourceforge.net/projects/gnuwin32/files/libiconv/1.9.2-1/
    这个是防止中文乱码的)
    elasticsearch的也可以用chrome插件(elasticsearch head chrome)来配合使用,比起安装更加的方便(推荐这个)
    也可以使用kibana(下载地址:https://www.elastic.co/downloads/kibana)
    下载完之后只需要在config/kibana.yml中配置elasticsearch.url: "http://localhost:9200",然后执行bin/kibana.bat即可
    postman也行哦

    开始正文了

    1. 查看当前版本
    GET localhost:9200
    
    {
    "name": "0HWXFLZ",
    "cluster_name": "elasticsearch",
    "cluster_uuid": "PDSH3gwjQtCa2QXLUruiAg",
    "version": {
    "number": "6.3.0",
    "build_flavor": "default",
    "build_type": "zip",
    "build_hash": "424e937",
    "build_date": "2018-06-11T23:38:03.357887Z",
    "build_snapshot": false,
    "lucene_version": "7.3.1",
    "minimum_wire_compatibility_version": "5.6.0",
    "minimum_index_compatibility_version": "5.0.0"
    },▸
    "tagline": "You Know, for Search"
    }
    

    elastic默认端口号是9200,需要更改的话可去config/elasticsearch.yml下修改
    elastic默认只允许本机访问,如果需要远程访问,可以修改安装目录下的 config/elasticsearch.yml文件,去掉network.host注释,将它的值改成0.0.0.0,重启Elastic即可,0.0.0.0是允许所有的ip访问,线上服务设定具体的ip

    1. 创建一个索引
      PUT localhost:9200/test
    
    {
    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "test"
    }
    
    1. 删除一个索引
    DELETE localhost:9200/test
    
     {
      "acknowledged": true
     }
    
    1. 设置中文分词(ik)
      前往https://github.com/medcl/elasticsearch-analysis-ik下载对应的版本(我这里下载的是6.3对应的,一定要注意哦,目前elastic的版本已经是6.4了,但是ik我看的时候master分支上才支持到6.3,果断把elastic切回到6.3了),下载后执行mvn clean package,从target/release文件夹中吧 elasticsearch-analysis-ik-6.3.0.zip文件复制解压到plugins/ik(ik是新建的文件夹),重启elastic
      如果需要添加自定义词典或者停用词,在plugins/ik/config里面extra_main.dic和stopword.dic里面加,记得重启elastic
      POST localhost:9200/_analyze 
      json参数:{"analyzer":"ik_smart","text":"我是中国人"}
      
     {
       "tokens": [
           {
               "token": "我",
               "start_offset": 0,
               "end_offset": 1,
               "type": "CN_CHAR",
               "position": 0
           },
           {
               "token": "是",
               "start_offset": 1,
               "end_offset": 2,
               "type": "CN_CHAR",
               "position": 1
           },
           {
               "token": "中国人",
               "start_offset": 2,
               "end_offset": 5,
               "type": "CN_WORD",
               "position": 2
           }
       ]
    }
    
      POST localhost:9200/_analyze
      json参数: {"analyzer":"ik_max_word","text":"我是中国人"}
    
    {
        "tokens": [
            {
                "token": "我",
                "start_offset": 0,
                "end_offset": 1,
                "type": "CN_CHAR",
                "position": 0
            },
            {
                "token": "是",
                "start_offset": 1,
                "end_offset": 2,
                "type": "CN_CHAR",
                "position": 1
            },
            {
                "token": "中国人",
                "start_offset": 2,
                "end_offset": 5,
                "type": "CN_WORD",
                "position": 2
            },
            {
                "token": "中国",
                "start_offset": 2,
                "end_offset": 4,
                "type": "CN_WORD",
                "position": 3
            },
            {
                "token": "国人",
                "start_offset": 3,
                "end_offset": 5,
                "type": "CN_WORD",
                "position": 4
            }
        ]
    }
    

    通过上面两个例子,对分词器的两种模式也很直观的比较了下
    ik_max_word(最细粒度的拆分),ik_smart(最粗粒度的拆分)

    1. 创建一个结构化的索引
      新建一个名称为accounts的 Index,里面有一个名称为person的 Type。person有三个字段:user,title,desc
     PUT localhost:9200/accounts
     json参数:
     {
     "mappings": {
         "person": {
             "properties": {
                 "user": {
                     "type": "text",
                     "analyzer": "ik_max_word",
                     "search_analyzer": "ik_max_word"
                 },
                 "title": {
                     "type": "text",
                     "analyzer": "ik_max_word",
                     "search_analyzer": "ik_max_word"
                 },
                 "desc": {
                     "type": "text",
                     "analyzer": "ik_max_word",
                     "search_analyzer": "ik_max_word"
                 }
             }
         }
     }
    }
    
    {
    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "accounts"
    }
    

    上面代码中,analyzer是字段文本的分词器,search_analyzer是搜索词的分词器。ik_max_word分词器是插件ik提供的最细粒度划分,可以对文本进行最大数量的分词

    在实际使用中可能需要对部分字段不分词,旧版本的使用方式是在创建索引的时候

    {
        "mappings": {
            "person": {
                "properties": {
                    "user": {
                        "type": "text",
                        "index": "not_analyzed"
                    }
                }
            }
        }
    }
    

    现已将index字段已将取消了,如需设置部分字段不分词,只需将type的值设置成“keyword”
    {
    "mappings": {
    "person": {
    "properties": {
    "user": {
    "type": "keyword"
    }
    }
    }
    }
    }

    1. 增加数据
      向指定的 /Index/Type 发送 PUT 请求,就可以在 Index 里面新增 一条记录。比如,向/accounts/person发送请求,就可以新增一条人员记录。
    PUT localhost:9200/accounts/person/1
    json参数:
    {
      "user": "张三",
      "title": "工程师",
      "desc": "数据库管理"
    }
    
    {
        "_index": "accounts",
        "_type": "person",
        "_id": "1",
        "_version": 4,
        "result": "created",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 3,
        "_primary_term": 1
    }
    

    注意,给定id的时候需要使用put方式;
    不给id时需要使用post方式,同时会自动生成一串字符串作为id

    POST localhost:9200/accounts/person
    json参数:
    {
      "user": "李四",
      "title": "工程师",
      "desc": "数据库管理,软件开发"
    }
    
    {
        "_index": "accounts",
        "_type": "person",
        "_id": "lqa7zGUBG3ypptj7Z0wn",
        "_version": 1,
        "result": "created",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 0,
        "_primary_term": 1
    }
    
    1. 删除记录
      删除一条记录
      删除id为1的数据
    DELETE localhost:9200/accounts/person/1
    
    {
        "_index": "accounts",
        "_type": "person",
        "_id": "1",
        "_version": 6,
        "result": "deleted",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 6,
        "_primary_term": 1
    }
    

    条件删除
    删除user="张三"的数据

    POST  localhost:9200/accounts/person/_delete_by_query
    json参数:
    {
      "query":{
         "term":{
            "user":"张三"
         }
       }
    }
    
    {
        "took": 206,
        "timed_out": false,
        "total": 11,
        "deleted": 11,
        "batches": 1,
        "version_conflicts": 0,
        "noops": 0,
        "retries": {
            "bulk": 0,
            "search": 0
        },
        "throttled_millis": 0,
        "requests_per_second": -1,
        "throttled_until_millis": 0,
        "failures": []
    }
    

    我之前用不给id的方式添加了很多条数据,所以这里删除了11条记录

    删除某个索引的全部数据

    POST  localhost:9200/accounts/person/_delete_by_query
    json数据:
    {
      "query": {
        "match_all": {}
      }
    }
    
    1. 修改记录
      修改一条记录
      先添加一条记录
    PUT localhost:9200/accounts/person/2
    json参数:
    {
      "user": "测试",
      "title": "test",
      "desc": "test"
    }
    

    添加完成,再改

    PUT localhost:9200/accounts/person/2
    json参数:
    {
      "user": "张三",
      "title": "工程师",
      "desc": "测试试吃"
    }
    
    {
        "_index": "accounts",
        "_type": "person",
        "_id": "2",
        "_version": 2,
        "result": "updated",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 8,
        "_primary_term": 1
    }
    
    image.png

    或者

    PUT localhost:9200/accounts/person/_update
    json参数:
    {
      "doc":{
        "user": "张三改"
      }
    }
    
    image.png

    批量修改
    把李四都改成李四1

    PUT localhost:9200/accounts/person/_update_by_query
    json参数:
    {
      "query": {
        "term": {
          "user": "李四"
        }
      },
      "script": {
        "lang": "painless",
        "inline": "ctx._source.user=params.last",
        "params": {
          "last": "李四1"
        }
      }
    }
    
    {
        "took": 122,
        "timed_out": false,
        "total": 9,
        "updated": 9,
        "deleted": 0,
        "batches": 1,
        "version_conflicts": 0,
        "noops": 0,
        "retries": {
            "bulk": 0,
            "search": 0
        },
        "throttled_millis": 0,
        "requests_per_second": -1,
        "throttled_until_millis": 0,
        "failures": []
    }
    

    返回结果显示更新了9条记录


    image.png
    1. 查询
      重新整理下数据
    先删除所有的数据....
    POST localhost:9200/accounts/person/_delete_by_query
    json参数:
    {
      "query":{
          "match_all":{}
      }
    }
    
    然后添加5条数据进去(简单点写了)
    PUT localhost:9200/accounts/person/1   {"user":"张三","title":"工程师","desc":"测试试吃"}
    PUT localhost:9200/accounts/person/2   {"user":"测试","title":"test","desc":"test"}
    PUT localhost:9200/accounts/person/3   {"user":"张三","title":"工程师","desc":"数据库管理"}
    PUT localhost:9200/accounts/person/4   {"user":"李四","title":"工程师","desc":"数据库管理,软件开发"}
    PUT localhost:9200/accounts/person/5   {"user":"李四","title":"测试工程师","desc":"数据库管理,软件开发"}
    
    image.png

    查询某个索引下的所有记录

    GET localhost:9200/accounts/_search
    
    {
        "took": 1,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 5,
            "max_score": 1,
            "hits": [{
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "5",
                    "_score": 1,
                    "_source": {
                        "user": "李四",
                        "title": "测试工程师",
                        "desc": "数据库管理,软件开发"
                    }
                },
                {
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "2",
                    "_score": 1,
                    "_source": {
                        "user": "测试",
                        "title": "test",
                        "desc": "test"
                    }
                },
                {
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "4",
                    "_score": 1,
                    "_source": {
                        "user": "李四",
                        "title": "工程师",
                        "desc": "数据库管理,软件开发"
                    }
                },
                {
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "1",
                    "_score": 1,
                    "_source": {
                        "user": "张三",
                        "title": "工程师",
                        "desc": "测试试吃"
                    }
                },
                {
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "3",
                    "_score": 1,
                    "_source": {
                        "user": "张三",
                        "title": "工程师",
                        "desc": "数据库管理"
                    }
                }
            ]
        }
    

    条件查询
    查询 user="张三"

    POST localhost:9200/accounts/person/_search
    json参数:
    {
      "query":{
        "match":{
            "user":"张三"
        }
      }
    }
    
    {
        "took": 1,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 2,
            "max_score": 0.5753642,
            "hits": [{
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "1",
                    "_score": 0.5753642,
                    "_source": {
                        "user": "张三",
                        "title": "工程师",
                        "desc": "测试试吃"
                    }
                },
                {
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "3",
                    "_score": 0.5753642,
                    "_source": {
                        "user": "张三",
                        "title": "工程师",
                        "desc": "数据库管理"
                    }
                }
            ]
        }
    }
    

    查询 user="张三" 并按id倒序

    POST localhost:9200/accounts/person/_search
    json参数:
    {
          "query":{
                "match":{
                      "user":"张三"
                }
            },
            "sort":[ {
                      "_id":{
                            "order":"desc"
                        }
            }]
    }
    
    {
        "took": 1,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 2,
            "max_score": null,
            "hits": [{
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "3",
                    "_score": null,
                    "_source": {
                        "user": "张三",
                        "title": "工程师",
                        "desc": "数据库管理"
                    },
                    "sort": [
                        "3"
                    ]
                },
                {
                    "_index": "accounts",
                    "_type": "person",
                    "_id": "1",
                    "_score": null,
                    "_source": {
                        "user": "张三",
                        "title": "工程师",
                        "desc": "测试试吃"
                    },
                    "sort": [
                        "1"
                    ]
                }
            ]
        }
    }
    
    1. 检索查询高亮显示
      先准备一份数据:
    PUT localhost:9200/accounts/person/6
    json参数:
     {
      "user":"test",
      "title":"高亮测试1",
      "desc":"原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会出事9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。有关负责人透露了与肃清苏荣案余毒有关的重要信息,表示“坚决全面彻底肃清苏荣任人唯亲、搞团团伙伙的余毒,切实把正气充盈的选人用人风气树起来”。“苏荣身为党的高级领导干部,无视党的政治规矩,严重违反组织纪律,大肆卖官鬻爵,带坏了干部队伍,败坏了社会风气;自身严重腐败,并支持、纵容亲属利用其特殊身份擅权干政,谋取巨额非法利益,严重破坏了党内政治生活,损害了当地政治生态,性质极其严重,影响十分恶劣。”2015年2月,中央纪委发布了苏荣严重违纪违法被开除党籍和公职的通报。江西此次发布会上,有关负责人通报了近年来查处涉苏荣案相关人员违纪违法问题的情况,包括“对涉及苏荣案的43名党员领导干部依纪依法作出严肃处理,其中,因严重违纪并涉嫌犯罪已移送司法机关处理9人,给予党纪政纪处分16人,了结处理18人”“对中央巡视组指出的11名‘带病提拔’干部开展倒查,对涉及行贿买官的71人作出严肃处理,对全省甄别的16名县处级‘带病提拔’对象选任过程进行倒查,对41名相关责任人作出了处理”等。这些数字,足见苏荣“大肆卖官鬻爵”到了何种地步,足见苏荣腐败案对江西政治生态的污染之深以及对江西的负面影响之大。从苏荣案,可以清楚地看到“搞任人唯亲、排斥异己”“搞团团伙伙、拉帮结派”的严重危害性。再观察党的十八大以来查处的“系统性腐败”“塌方式腐败”等大案要案,其背后往往都有无视党的政治纪律、政治规矩的“一霸手”坐镇的“山头”“码头”,有把党内同志关系搞成人身依附关系、培植个人势力、结成利益同盟的“圈子”“团伙”。这些问题,严重破坏党的团结和集中统一,严重损害党内政治生态和党的形象,严重影响党和人民事业发展。全面从严治党,严肃党内政治生活,必须坚决防止和反对宗派主义、山头主义,必须采取有力措施防范和遏制小圈子、小团伙。《关于新形势下党内政治生活的若干准则》在“严明党的政治纪律”部分强调,“党员、干部特别是高级干部不准在党内搞小山头、小圈子、小团伙,严禁在党内拉私人关系、培植个人势力、结成利益集团。对那些投机取巧、拉帮结派、搞团团伙伙的人,要严格防范,依纪依规处理。”新修订的《中国共产党纪律处分条例》第四十九条、第五十条分别针对“在党内搞团团伙伙、结党营私、拉帮结派、培植个人势力等非组织活动,或者通过搞利益交换、为自己营造声势等活动捞取政治资本的”“党员领导干部在本人主政的地方或者分管的部门自行其是,搞山头主义,拒不执行党中央确定的大政方针,甚至背着党中央另搞一套的”等行为作出了处分规定。信号十分清晰:党内绝不允许搞团团伙伙、结党营私、拉帮结派,绝不允许搞山头主义,搞了就是违反政治纪律。奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会出事!来源:王璐 张硕/中国纪检监察报责任编辑:张申"
    }
    

    简单搜索一下desc中含有“出事”的信息

    POST localhost:9200/accounts/person/_search
    json参数:
    {
    "query":{
       "match_phrase":{
          "desc":"出事"
       }
     }
    }
    
    {
        "took": 8,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 1,
            "max_score": 0.87072283,
            "hits": [{
                "_index": "accounts",
                "_type": "person",
                "_id": "6",
                "_score": 0.87072283,
                "_source": {
                    "user": "test",
                    "title": "高亮测试1",
                    "desc": "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会出事9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。有关负责人透露了与肃清苏荣案余毒有关的重要信息,表示“坚决全面彻底肃清苏荣任人唯亲、搞团团伙伙的余毒,切实把正气充盈的选人用人风气树起来”。“苏荣身为党的高级领导干部,无视党的政治规矩,严重违反组织纪律,大肆卖官鬻爵,带坏了干部队伍,败坏了社会风气;自身严重腐败,并支持、纵容亲属利用其特殊身份擅权干政,谋取巨额非法利益,严重破坏了党内政治生活,损害了当地政治生态,性质极其严重,影响十分恶劣。”2015年2月,中央纪委发布了苏荣严重违纪违法被开除党籍和公职的通报。江西此次发布会上,有关负责人通报了近年来查处涉苏荣案相关人员违纪违法问题的情况,包括“对涉及苏荣案的43名党员领导干部依纪依法作出严肃处理,其中,因严重违纪并涉嫌犯罪已移送司法机关处理9人,给予党纪政纪处分16人,了结处理18人”“对中央巡视组指出的11名‘带病提拔’干部开展倒查,对涉及行贿买官的71人作出严肃处理,对全省甄别的16名县处级‘带病提拔’对象选任过程进行倒查,对41名相关责任人作出了处理”等。这些数字,足见苏荣“大肆卖官鬻爵”到了何种地步,足见苏荣腐败案对江西政治生态的污染之深以及对江西的负面影响之大。从苏荣案,可以清楚地看到“搞任人唯亲、排斥异己”“搞团团伙伙、拉帮结派”的严重危害性。再观察党的十八大以来查处的“系统性腐败”“塌方式腐败”等大案要案,其背后往往都有无视党的政治纪律、政治规矩的“一霸手”坐镇的“山头”“码头”,有把党内同志关系搞成人身依附关系、培植个人势力、结成利益同盟的“圈子”“团伙”。这些问题,严重破坏党的团结和集中统一,严重损害党内政治生态和党的形象,严重影响党和人民事业发展。全面从严治党,严肃党内政治生活,必须坚决防止和反对宗派主义、山头主义,必须采取有力措施防范和遏制小圈子、小团伙。《关于新形势下党内政治生活的若干准则》在“严明党的政治纪律”部分强调,“党员、干部特别是高级干部不准在党内搞小山头、小圈子、小团伙,严禁在党内拉私人关系、培植个人势力、结成利益集团。对那些投机取巧、拉帮结派、搞团团伙伙的人,要严格防范,依纪依规处理。”新修订的《中国共产党纪律处分条例》第四十九条、第五十条分别针对“在党内搞团团伙伙、结党营私、拉帮结派、培植个人势力等非组织活动,或者通过搞利益交换、为自己营造声势等活动捞取政治资本的”“党员领导干部在本人主政的地方或者分管的部门自行其是,搞山头主义,拒不执行党中央确定的大政方针,甚至背着党中央另搞一套的”等行为作出了处分规定。信号十分清晰:党内绝不允许搞团团伙伙、结党营私、拉帮结派,绝不允许搞山头主义,搞了就是违反政治纪律。奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会出事!来源:王璐 张硕/中国纪检监察报责任编辑:张申"
                }
            }]
        }
    }
    

    以上返回结果查询出刚我们创建的那条数据,接下来我们使用默认的高亮显示,再次查询

    POST localhost:9200/accounts/person/_search
    json参数:
    {
    "query":{
       "match_phrase":{
          "desc":"出事"
       }
     },
     "highlight":{
       "fields":{
         "desc":{}
       }
     }
    }
    
    {
        "took": 22,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 1,
            "max_score": 0.87072283,
            "hits": [{
                "_index": "accounts",
                "_type": "person",
                "_id": "6",
                "_score": 0.87072283,
                "_source": {
                    "user": "test",
                    "title": "高亮测试1",
                    "desc": "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会出事9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。有关负责人透露了与肃清苏荣案余毒有关的重要信息,表示“坚决全面彻底肃清苏荣任人唯亲、搞团团伙伙的余毒,切实把正气充盈的选人用人风气树起来”。“苏荣身为党的高级领导干部,无视党的政治规矩,严重违反组织纪律,大肆卖官鬻爵,带坏了干部队伍,败坏了社会风气;自身严重腐败,并支持、纵容亲属利用其特殊身份擅权干政,谋取巨额非法利益,严重破坏了党内政治生活,损害了当地政治生态,性质极其严重,影响十分恶劣。”2015年2月,中央纪委发布了苏荣严重违纪违法被开除党籍和公职的通报。江西此次发布会上,有关负责人通报了近年来查处涉苏荣案相关人员违纪违法问题的情况,包括“对涉及苏荣案的43名党员领导干部依纪依法作出严肃处理,其中,因严重违纪并涉嫌犯罪已移送司法机关处理9人,给予党纪政纪处分16人,了结处理18人”“对中央巡视组指出的11名‘带病提拔’干部开展倒查,对涉及行贿买官的71人作出严肃处理,对全省甄别的16名县处级‘带病提拔’对象选任过程进行倒查,对41名相关责任人作出了处理”等。这些数字,足见苏荣“大肆卖官鬻爵”到了何种地步,足见苏荣腐败案对江西政治生态的污染之深以及对江西的负面影响之大。从苏荣案,可以清楚地看到“搞任人唯亲、排斥异己”“搞团团伙伙、拉帮结派”的严重危害性。再观察党的十八大以来查处的“系统性腐败”“塌方式腐败”等大案要案,其背后往往都有无视党的政治纪律、政治规矩的“一霸手”坐镇的“山头”“码头”,有把党内同志关系搞成人身依附关系、培植个人势力、结成利益同盟的“圈子”“团伙”。这些问题,严重破坏党的团结和集中统一,严重损害党内政治生态和党的形象,严重影响党和人民事业发展。全面从严治党,严肃党内政治生活,必须坚决防止和反对宗派主义、山头主义,必须采取有力措施防范和遏制小圈子、小团伙。《关于新形势下党内政治生活的若干准则》在“严明党的政治纪律”部分强调,“党员、干部特别是高级干部不准在党内搞小山头、小圈子、小团伙,严禁在党内拉私人关系、培植个人势力、结成利益集团。对那些投机取巧、拉帮结派、搞团团伙伙的人,要严格防范,依纪依规处理。”新修订的《中国共产党纪律处分条例》第四十九条、第五十条分别针对“在党内搞团团伙伙、结党营私、拉帮结派、培植个人势力等非组织活动,或者通过搞利益交换、为自己营造声势等活动捞取政治资本的”“党员领导干部在本人主政的地方或者分管的部门自行其是,搞山头主义,拒不执行党中央确定的大政方针,甚至背着党中央另搞一套的”等行为作出了处分规定。信号十分清晰:党内绝不允许搞团团伙伙、结党营私、拉帮结派,绝不允许搞山头主义,搞了就是违反政治纪律。奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会出事!来源:王璐 张硕/中国纪检监察报责任编辑:张申"
                },
                "highlight": {
                    "desc": [
                        "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会<em>出事</em>9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。",
                        "奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会<em>出事</em>!"
                    ]
                }
            }]
        }
    }
    

    默认会将检索到的关键词用<em></em>标签包住,
    下面我们尝试自定义标签

    {
        "query": {
            "match_phrase": {
                "desc": "出事"
            }
        },
        "highlight": {
            "pre_tags": ["<font color='red'>"],
            "post_tags": ["</font>"],
            "fields": {
                "desc": {}
            }
        }
    }
    
    {
        "took": 15,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 1,
            "max_score": 0.87072283,
            "hits": [{
                "_index": "accounts",
                "_type": "person",
                "_id": "6",
                "_score": 0.87072283,
                "_source": {
                    "user": "test",
                    "title": "高亮测试1",
                    "desc": "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会出事9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。有关负责人透露了与肃清苏荣案余毒有关的重要信息,表示“坚决全面彻底肃清苏荣任人唯亲、搞团团伙伙的余毒,切实把正气充盈的选人用人风气树起来”。“苏荣身为党的高级领导干部,无视党的政治规矩,严重违反组织纪律,大肆卖官鬻爵,带坏了干部队伍,败坏了社会风气;自身严重腐败,并支持、纵容亲属利用其特殊身份擅权干政,谋取巨额非法利益,严重破坏了党内政治生活,损害了当地政治生态,性质极其严重,影响十分恶劣。”2015年2月,中央纪委发布了苏荣严重违纪违法被开除党籍和公职的通报。江西此次发布会上,有关负责人通报了近年来查处涉苏荣案相关人员违纪违法问题的情况,包括“对涉及苏荣案的43名党员领导干部依纪依法作出严肃处理,其中,因严重违纪并涉嫌犯罪已移送司法机关处理9人,给予党纪政纪处分16人,了结处理18人”“对中央巡视组指出的11名‘带病提拔’干部开展倒查,对涉及行贿买官的71人作出严肃处理,对全省甄别的16名县处级‘带病提拔’对象选任过程进行倒查,对41名相关责任人作出了处理”等。这些数字,足见苏荣“大肆卖官鬻爵”到了何种地步,足见苏荣腐败案对江西政治生态的污染之深以及对江西的负面影响之大。从苏荣案,可以清楚地看到“搞任人唯亲、排斥异己”“搞团团伙伙、拉帮结派”的严重危害性。再观察党的十八大以来查处的“系统性腐败”“塌方式腐败”等大案要案,其背后往往都有无视党的政治纪律、政治规矩的“一霸手”坐镇的“山头”“码头”,有把党内同志关系搞成人身依附关系、培植个人势力、结成利益同盟的“圈子”“团伙”。这些问题,严重破坏党的团结和集中统一,严重损害党内政治生态和党的形象,严重影响党和人民事业发展。全面从严治党,严肃党内政治生活,必须坚决防止和反对宗派主义、山头主义,必须采取有力措施防范和遏制小圈子、小团伙。《关于新形势下党内政治生活的若干准则》在“严明党的政治纪律”部分强调,“党员、干部特别是高级干部不准在党内搞小山头、小圈子、小团伙,严禁在党内拉私人关系、培植个人势力、结成利益集团。对那些投机取巧、拉帮结派、搞团团伙伙的人,要严格防范,依纪依规处理。”新修订的《中国共产党纪律处分条例》第四十九条、第五十条分别针对“在党内搞团团伙伙、结党营私、拉帮结派、培植个人势力等非组织活动,或者通过搞利益交换、为自己营造声势等活动捞取政治资本的”“党员领导干部在本人主政的地方或者分管的部门自行其是,搞山头主义,拒不执行党中央确定的大政方针,甚至背着党中央另搞一套的”等行为作出了处分规定。信号十分清晰:党内绝不允许搞团团伙伙、结党营私、拉帮结派,绝不允许搞山头主义,搞了就是违反政治纪律。奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会出事!来源:王璐 张硕/中国纪检监察报责任编辑:张申"
                },
                "highlight": {
                    "desc": [
                        "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会<font color='red'>出事</font>9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。",
                        "奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会<font color='red'>出事</font>!"
                    ]
                }
            }]
        }
    }
    

    观察返回结果,<em>标签已经换成我们要的<font>了
    多关键词检索使用bool来

    POST localhost:9200/accounts/person/_search
    {
        "query": {
            "bool": {
                "should": [{
                        "match": {
                            "desc": "张申"
                        }
                    },
                    {
                        "match": {
                            "desc": "出事"
                        }
                    }
                ]
            }
        },
        "highlight": {
            "pre_tags": ["<font color='red'>"],
            "post_tags": ["</font>"],
            "fields": {
                "desc": {}
            }
        }
    }
    
    {
        "took": 55,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 1,
            "max_score": 2.2868469,
            "hits": [{
                "_index": "accounts",
                "_type": "person",
                "_id": "6",
                "_score": 2.2868469,
                "_source": {
                    "user": "test",
                    "title": "高亮测试1",
                    "desc": "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会出事9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。有关负责人透露了与肃清苏荣案余毒有关的重要信息,表示“坚决全面彻底肃清苏荣任人唯亲、搞团团伙伙的余毒,切实把正气充盈的选人用人风气树起来”。“苏荣身为党的高级领导干部,无视党的政治规矩,严重违反组织纪律,大肆卖官鬻爵,带坏了干部队伍,败坏了社会风气;自身严重腐败,并支持、纵容亲属利用其特殊身份擅权干政,谋取巨额非法利益,严重破坏了党内政治生活,损害了当地政治生态,性质极其严重,影响十分恶劣。”2015年2月,中央纪委发布了苏荣严重违纪违法被开除党籍和公职的通报。江西此次发布会上,有关负责人通报了近年来查处涉苏荣案相关人员违纪违法问题的情况,包括“对涉及苏荣案的43名党员领导干部依纪依法作出严肃处理,其中,因严重违纪并涉嫌犯罪已移送司法机关处理9人,给予党纪政纪处分16人,了结处理18人”“对中央巡视组指出的11名‘带病提拔’干部开展倒查,对涉及行贿买官的71人作出严肃处理,对全省甄别的16名县处级‘带病提拔’对象选任过程进行倒查,对41名相关责任人作出了处理”等。这些数字,足见苏荣“大肆卖官鬻爵”到了何种地步,足见苏荣腐败案对江西政治生态的污染之深以及对江西的负面影响之大。从苏荣案,可以清楚地看到“搞任人唯亲、排斥异己”“搞团团伙伙、拉帮结派”的严重危害性。再观察党的十八大以来查处的“系统性腐败”“塌方式腐败”等大案要案,其背后往往都有无视党的政治纪律、政治规矩的“一霸手”坐镇的“山头”“码头”,有把党内同志关系搞成人身依附关系、培植个人势力、结成利益同盟的“圈子”“团伙”。这些问题,严重破坏党的团结和集中统一,严重损害党内政治生态和党的形象,严重影响党和人民事业发展。全面从严治党,严肃党内政治生活,必须坚决防止和反对宗派主义、山头主义,必须采取有力措施防范和遏制小圈子、小团伙。《关于新形势下党内政治生活的若干准则》在“严明党的政治纪律”部分强调,“党员、干部特别是高级干部不准在党内搞小山头、小圈子、小团伙,严禁在党内拉私人关系、培植个人势力、结成利益集团。对那些投机取巧、拉帮结派、搞团团伙伙的人,要严格防范,依纪依规处理。”新修订的《中国共产党纪律处分条例》第四十九条、第五十条分别针对“在党内搞团团伙伙、结党营私、拉帮结派、培植个人势力等非组织活动,或者通过搞利益交换、为自己营造声势等活动捞取政治资本的”“党员领导干部在本人主政的地方或者分管的部门自行其是,搞山头主义,拒不执行党中央确定的大政方针,甚至背着党中央另搞一套的”等行为作出了处分规定。信号十分清晰:党内绝不允许搞团团伙伙、结党营私、拉帮结派,绝不允许搞山头主义,搞了就是违反政治纪律。奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会出事!来源:王璐 张硕/中国纪检监察报责任编辑:张申"
                },
                "highlight": {
                    "desc": [
                        "原标题:中纪委机关报:搞团团伙伙就是给自己挖坑埋雷,早晚会<font color='red'>出事</font>9月11日,江西省纪委监委、省委宣传部联合召开《关于坚决全面彻底肃清苏荣案余毒持续建设风清气正政治生态的意见》新闻发布会。",
                        "奉劝那些整天琢磨着拉关系、找门路的,分析某某是谁的人、某某是哪个圈子的,绞尽脑汁想着同谁套套近乎、能抱上谁大腿的,搞这种东西就是给自己“挖坑埋雷”,早晚会<font color='red'>出事</font>!",
                        "来源:王璐 <font color='red'>张</font>硕/中国纪检监察报责任编辑:<font color='red'>张</font><font color='red'>申</font>"
                    ]
                }
            }]
        }
    }
    

    也可以

    POST localhost:9200/accounts/person/_search
    {
        "query": {
            "bool": {
                "should": [{
                        "match": {
                            "desc": "张申 出事"
                        }
                    }
                ]
            }
        },
        "highlight": {
            "pre_tags": ["<font color='red'>"],
            "post_tags": ["</font>"],
            "fields": {
                "desc": {}
            }
        }
    }
    

    参考链接:
    阮一峰:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html

    相关文章

      网友评论

          本文标题:elasticsearch的使用

          本文链接:https://www.haomeiwen.com/subject/sjuvgftx.html