es的简易dsl语句

数据模式为文档,_doc格式数据,也就是json 数据

es根据_id查询数据

GET /index_name/_doc/document_id

es根据_id删除数据

DELETE /index_name/_doc/document_id

es查询mapping结构

GET /index_name/_mappings

es查询index下所有数据(突破10000条限制)

GET /index_name/_search

{

"query": {

"match_all": {}

},

"track_total_hits": true

}

es新建mapping映射

PUT /passdata

{

"mappings" : {

"properties" : {

"carId" : {

"type" : "keyword",

"index": true

},

"id" : {

"type" : "text",

"index": true

},

"name" : {

"type" : "text",

"index": true,

"analyzer": "ik_max_word",

"search_analyzer": "ik_max_word",

"fields" : {

"keyword" : {

"type" : "keyword",

"ignore_above" : 256

}

}

},

"time" : {

"type" : "date"

},

"type" : {

"type" : "text",

"index": true,

"analyzer": "ik_max_word",

"search_analyzer": "ik_max_word"

}

}

}

}

6.0后字符串不用string;改成text和keyword两种了,keyword是默认不分词,text是要分词

这种结构保存字段会存两份索引(个人理解),首先第一个type text这个会进行分词建索引保存,再后面fields keyword会进行保存完整字符串附加。

所以一个articleID过来的时候,会建立两次索引。一次是自己本身(articleID),是要分词的,分词后放入倒排索引;另一次是基于articleID.keyword,不分词,最多保留256字符,直接一个完整的字符串放入倒排索引中。

text:
  • 会分词,然后进行索引
  • 支持模糊、精确查询
  • 不支持聚合
  • 分词器默认standard ,对于中文来说就是按字分词
  • 支持fields属性,可以在fields中添加keyword子类型,以实现精确检索
keyword:
  • 不进行分词,直接索引
  • 支持模糊、精确查询
  • 支持聚合
  • 支持按字数建立索引,以便节约索引空间
  • 看下text分词规律。

注意es 默认的分词是汉字为一个字一词,如果想用其他分词,引入ik分词。

es的sort 字段有的有有的没有,如果没有就排在最后

在Elasticsearch中,如果你想要在排序时将没有特定字段的文档放在最后,你可以使用missing参数来定义一个默认值。对于时间字段time,如果文档中没有这个字段,你可以设置一个非常早的时间或者一个特定的值,确保它总是被排序在最后。以下是一个如何使用missing参数的例子,假设你的时间字段名为time:

{

"sort": [

{

"time": {

"order": "asc",

"missing": "_last",

"unmapped_type": "date"

}

}

]

}

missing 设置为 _last,这意味着如果文档中没有time字段,它将被当作一个非常大的日期,从而在排序时被放置在最后。unmapped_type 设置为 date 是为了确保即使time字段在文档中不存在,Elasticsearch也会按照日期类型来处理这个缺失值。

如果想要自定义一个特定的时间值来代替缺失的字段,可以将missing设置为你想要的具体时间值:

{

"sort": [

{

"time": {

"order": "asc",

"missing": "2000-01-01T00:00:00",

"unmapped_type": "date"

}

}

]

}

所有没有time字段的文档将在排序时被当作2000年的某个时间,并且因为它们被当作是在2000年之后,所以它们会被放置在排序的最后

相关推荐
Dreams°1232 小时前
大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
大数据·单元测试·可用性测试
sf_www2 小时前
Flink on YARN是如何确定TaskManager个数的
大数据·flink
infiniteWei2 小时前
【Lucene】原理学习路线
学习·搜索引擎·全文检索·lucene
武子康3 小时前
大数据-213 数据挖掘 机器学习理论 - KMeans Python 实现 距离计算函数 质心函数 聚类函数
大数据·人工智能·python·机器学习·数据挖掘·scikit-learn·kmeans
武子康4 小时前
大数据-214 数据挖掘 机器学习理论 - KMeans Python 实现 算法验证 sklearn n_clusters labels
大数据·人工智能·python·深度学习·算法·机器学习·数据挖掘
Aloudata4 小时前
NoETL自动化指标平台为数据分析提质增效,驱动业务决策
大数据·数据分析·指标平台·指标体系
2401_883041088 小时前
新锐品牌电商代运营公司都有哪些?
大数据·人工智能
青云交9 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:融合机器学习的未来之路(上 (2-1))(11/30)
大数据·计算资源·应用案例·数据交互·impala 性能优化·机器学习融合·行业拓展
Json_1817901448011 小时前
An In-depth Look into the 1688 Product Details Data API Interface
大数据·json
Qspace丨轻空间14 小时前
气膜场馆:推动体育文化旅游创新发展的关键力量—轻空间
大数据·人工智能·安全·生活·娱乐