Elasticsearch 是一款开源的分布式检索引擎,广泛应用于实时分析、日志分析、全文搜索和数据监控等领域。凭借其强大的实时搜索能力和灵活的查询语言,在市场上获得了广泛认可。然而,在过去两年,我们注意到一个趋势,很多 Elasticsearch 用户倾向于采用 Apache Doris 替代 Elasticsea […]
Elasticsearch 是一款开源的分布式检索引擎,广泛应用于实时分析、日志分析、全文搜索和数据监控等领域。凭借其强大的实时搜索能力和灵活的查询语言,在市场上获得了广泛认可。然而,在过去两年,我们注意到一个趋势,很多 Elasticsearch 用户倾向于采用 Apache Doris 替代 Elasticsea […]
在 Elasticsearch 中,cat API 仅适用于使用 Kibana 控制台或命令行供人类使用。 它们不适合应用程序使用。 对于应用程序消耗,我们建议使用相应的 JSON API。所有的 cat 命令都接受查询字符串参数 help,以查看它们提供的所有 header 和信息,并且 /_cat命令仅列出所有可 […]
游标查询(scroll)简介 scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种代价。 游标查询会取某个时间点的快照数据。 查询初始化之后索引上的任何变化会被它忽略。 它通过保存旧的数据文件来实现这个特性,结果就像保留初始化时的索引 视图 一样。 启用游标查 […]
创建索引 创建一个名为my_index的索引 PUT localhost:9200/my_index 创建映射 PUT localhost:9200/my_index/my_type/_mapping { "properties": { "name": { "type": "text" } } } 添加一个文档 PUT […]
路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中。Elasticsearch如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片1还是分片2中呢? 首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公 […]
修改max_result_window参数即可。 Elasticsearch API: PUT 127.0.0.1:9200/{indexType}/_settings 参数: { "index": { "max_result_window": 100000 } } max_result_window视具体情况决定大小 […]
常用的 match_all查询 match_all查询简单的匹配所有文档。在没有指定查询方式时,它是默认的查询: { "match_all": {}} match查询 无论你在任何字段上进行的是全文搜索还是精确查询,match查询是你可用的标准查询。 如果你在一个全文字段上使用match查询,在执行查询前,它将用正确的 […]
如果不对某一特殊的索引或者类型做限制,就会搜索集群中的所有文档。Elasticsearch转发搜索请求到每一个主分片或者副本分片,汇集查询出的前10个结果,并且返回给我们。这种搜索在ES中称为空搜索。 如下: localhost:9200/_search { "took": 67, "timed_out": false […]
准备工作 环境准备 JAVA版本 java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode) […]
文档 什么是文档 在大多数应用中,多数实体或对象可以被序列化为包含键值对的 JSON 对象。 一个 键 可以是一个字段或字段的名称,一个 值 可以是一个字符串,一个数字,一个布尔值, 另一个对象,一些数组值,或一些其它特殊类型诸如表示日期的字符串,或代表一个地理位置的对象: { "name": "John Smith" […]
人生自古谁无死?留取丹心照汗青。