美文网首页
ES常用命令

ES常用命令

作者: 多关心老人 | 来源:发表于2020-09-14 10:26 被阅读0次

get http://47.103.39.187:9200/_cat/indices?pretty 查看所有索引
get http://47.103.39.187:9200/_cluster/health 查看集群健康状态
get http://47.103.39.187:9200/cswl_t_address_book 看一个索引的mapping/setting等信息
get http://47.103.39.187:9200/cswl_t_address_book/_mapping
get http://47.103.39.187:9200/cswl_t_address_book/_settings

get http://47.103.39.187:9200/cswl_t_address_book/_search 查询所有数据

查询10条数据
{
"query": {
"match_all": {}

}
,
"size": 10

}

http://47.103.39.187:9200/cswl_t_address_book/_count 条数

建索引时,如果需要对分词进行小写,需要在analyzer里设置filter:lowercase,这个对type=text有效,type=keyword的需要设置normalizer,如下:

{
    "settings": {
        "index.max_ngram_diff": 7,
        "analysis": {
            "analyzer": {
                "ngram_analyzer": {
                    "tokenizer": "ngram_tokenizer",
                    "filter":["lowercase"]
                }
            },
            "tokenizer": {
                "ngram_tokenizer": {
                    "type": "ngram",
                    "min_gram": 1,
                    "max_gram": 8
                }
            },
            "normalizer":{
                "lowercase":{
                    "type":"custom",
                    "filter":["lowercase"]
                }
            }
        },
        "number_of_replicas": 1
    },
    "mappings": {
        "dynamic": "strict",
        "properties": {
            "clientClassify": {
                "type": "text",
                "fields": {
                    "keyword": {
                        "type": "keyword",
                        "ignore_above": 256,
                        "normalizer":"lowercase"
                    }
                },
                "analyzer": "ngram_analyzer"
            },
            "orderStatus": {
                "type": "keyword",
                "normalizer":"lowercase"
            },
      }
   }
}

text下面用fields把text的倒排索引invert掉,这样可以通过clientClassify.keyword搜索整个值,也可以排序了.

在查询的时候,如果用:

{
    "query":{
        "match":{
            "clientClassify":"大批发客户"
        }
    }
}

会对"大批发客户"进行分词,可能分成"大批发" &"批发"&"客户"这3个词,再和倒排索引中的比较,和clientClassify建索引的时候用的分词器是一样的,因此大小写都是能搜到的.
用term搜索的话:

{
    "query":{
        "term":{
            "clientClassify.keyword":"大批发客户"
        }
    }
}

列名后面加".keyword",关键词要和ES document中的大小写一样且内容一样才能搜到. 如果索引中设置了normalizer:lowercase,那么客户端搜索前要把关键词转成小写.
term搜索不会对关键词进行分词.

相关文章

  • es常用命令

    curl 'localhost:9200/_cat/health?v' 可以看到,我们集群的名字是“elastic...

  • ES常用命令

    集群信息 索引命令 查询命名 查询所有 curl -XPOST ${ES_SEARCH} -d'{"query":...

  • ES常用命令

    get http://47.103.39.187:9200/_cat/indices?pretty 查看所有索引g...

  • ES常用命令

    mapping映射 更改映射属性--禁止动态增加 更改映射属性--增加域

  • ES常用命令

    GET saasiotalertxx/_search { "query": { "match_all": {...

  • es常用命令小结

    查看索引 删除索引 操作索引

  • ES查看分词结果|es字段类型修改|ES常用命令

    查看分词结果 sort脚本排序 修改mapping中的字段类型 此处示例index为:youdu(已存在) you...

  • 其他

    Git常用命令mac常用命令Linux 常用命令汇总Linux 常用命令0Linux 常用命令1--ls命令

  • ES6 - 常用命令

    1. 查看是否完成多节点的分布式部署 http://ip:9200/_cat/nodes 2. 通过下面命令查看各...

  • Docker

    目录 常用命令 常用命令

网友评论

      本文标题:ES常用命令

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