新建数据

在这里插入图片描述
在这里插入图片描述

post和put的注意事项

在这里插入图片描述
在这里插入图片描述

_update 和 _doc区别

对于未改变值的提交,_update不会修改version和seq_no,_doc会加1.
在这里插入图片描述

查看索引account详情

在这里插入图片描述

获取数据

在这里插入图片描述

删除数据及索引

在这里插入图片描述

批量操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
向索引user中批量导入数据
在这里插入图片描述
批量获取
在这里插入图片描述
条件查询 dsl
在这里插入图片描述

match

在这里插入图片描述

Elasticsearch 的全文检索的倒排索引

在这里插入图片描述
在这里插入图片描述

match_phrase 短语查询

在这里插入图片描述

multi_match

在这里插入图片描述

设置权重

在这里插入图片描述

query_string

# 与match类似
GET user/_search
{
  "query": {
    "query_string": {
      "query": "Madison OR Street"
    }
  }
}
# 与match_phrase类似
GET user/_search
{
  "query": {
    "query_string": {
      "default_field": "address", 
      "query": "Madison AND Street"
    }
  }
}

term查询

# 做精确查询使用
GET user/_search
{
  "query": {
    "term": {
      "name": "Madison Street"
    }
  }
}

范围查询

在这里插入图片描述

查询指定字段

在这里插入图片描述

模糊查询

在这里插入图片描述

复合查询(bool查询)

# 复合查询
GET user/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "state": "tn"
          }
        },
        {
          "range": {
            "age": {
              "gte": 20,
              "lte": 30
            }
          }
        }
      ],
      "must_not": [
        {
          "term": {
            "gender": "m"
          }
        }
      ],
      "should": [
        {
          "match": {
            "firstname": "Lawanda"
          }
        }
      ],
      "filter": [
        {
          "range": {
            "age": {
              "gte": 20,
              "lte": 25
            }
          }
        }
      ]
    }
  }
}

mapping中keyword和text类型

分词器

Standard Analyzer - 默认分词器,按词切分,小写处理
Simple Analyzer - 按照非字母切分(符号被过滤),小写处理
Stop Analyzer - 小写处理,停用词过滤(the ,a,is)
Whitespace Analyzer - 按照空格切分,不转小写
Keyword Analyzer - 不分词,直接将输入当做输出
Patter Analyzer - 正则表达式,默认 \W+
Language - 提供了 30 多种常见语言的分词

标准分词器

在这里插入图片描述

使用keyword分析器查找

在这里插入图片描述

使用simple分析器查找

在这里插入图片描述

elastic使用分析器的优先顺序

At search time, Elasticsearch determines which analyzer to use by checking the following parameters in order:
The analyzer parameter in the search query. See Specify the search analyzer for a query.
The search_analyzer mapping parameter for the field. See Specify the search analyzer for a field.
The analysis.analyzer.default_search index setting. See Specify the default search analyzer for an index.
The analyzer mapping parameter for the field. See Specify the analyzer for a field.
If none of these parameters are specified, the standard analyzer is used.

在搜索时,Elasticsearch 通过按顺序检查以下参数来确定要使用的分析器:
1.搜索查询中的分析器参数。

GET my-index-000001/_search
{
  "query": {
    "match": {
      "message": {
        "query": "Quick foxes",
        "analyzer": "stop"
      }
    }
  }
}

2.字段的search_analyzer映射参数。

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "whitespace",
        "search_analyzer": "simple"
      }
    }
  }
}

3.analysis.analyzer.default_search索引设置。

# 指定索引的默认搜索分析器。
PUT my-index-000001
{
  "settings": {
    "analysis": {
      "analyzer": {
        "default": {
          "type": "simple"
        },
        "default_search": {
          "type": "whitespace"
        }
      }
    }
  }
}

4.字段的分析器映射参数。

# 为字段指定分析器
PUT my-index-000001
{
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "analyzer": "whitespace"
      }
    }
  }
}

5.如果未指定这些参数,则使用标准分析器。

中文分词

在这里插入图片描述

ik安装

使用ik分词器

在这里插入图片描述

自定义分词器词库

cd elasticsearch/plugins/ik/config
mkdir custom
cd custom/
vim mydic.dic
vim extra_stopword.dic
cd ..
vi IKAnalyzer.cfg.xml

mydic.dic
在这里插入图片描述
extra_stopword.dic
在这里插入图片描述
IKAnalyzer.cfg.xml
在这里插入图片描述
重启elastic
在这里插入图片描述

使用ik分词器创建索引

PUT newcn
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text",
        "analyzer": "ik_smart",
        "search_analyzer": "ik_smart"
      }
    }
  }
}


POST newcn/_doc
{
  "name": "中华牙膏"
}

更多推荐