elastic
文章平均质量分 56
我家小宝_朱朱
这个作者很懒,什么都没留下…
展开
-
es: java->count统计、distinct去重
在过滤条件后,统计总数(count), dinsticn , count(distinct())原创 2023-10-23 13:38:34 · 920 阅读 · 0 评论 -
es : java 查询
可以在字段上添加一个或多个排序,支持在 keyword、date、float 等类型上添加,text 类型的字段上不允许添加排序。原创 2023-10-21 17:00:38 · 1789 阅读 · 1 评论 -
es系列:忽略大小写查询
对于elasticsearch查询忽略大小写的问题,官方给出了一个解决方案,使用normalizer来解决,normalizer是的一个属性,可以对keyword生成的单一term,query_string做进一步的处理,比如lowercase,小写转换,使用方式和自定义分词器有相似之处,需要自定义,具体步骤如下。所以注意:对已有索引中字段,增加normalizer属性, 新增数据或者更新的数据,查询是生效的.但是历史数据, 如果不更新,则不生效的. 所以你需要reindex处理。转载 2023-04-11 17:07:06 · 2549 阅读 · 2 评论 -
ES: 查询
filter context关注的是,文档是否匹配查询条件,结果只有两个,是和否。没有其它额外的计算。query context关注的是,文档到底有多匹配查询的条件,这个匹配的程度是由相关性分数决定的,分数越高自然就越匹配。match_phrase为按短语搜索,比如根据一个文本搜索:“我的宝马多少马力”,这个文本可能会被分词成宝马、多少、马力三个短语,只有同时满足这三个才能被搜索出来。精确查询,不会对输入做分词,如果输入的是"某某人",则直接查询"某某人",如果输入的是"某某事",则直接查询"某某事"。转载 2023-03-25 17:54:09 · 2061 阅读 · 0 评论 -
ES: 设置默认值
在插入数据时候,给字段设置给默认值. 但问题是,后续也无法修改此字段. 这个应该很少有这个需求。选项允许您忽略没有mapping的字段,也不按它们排序。参数的值为该字段对应值的类型。这种场景一般不存在.因为index至少有一条数据存在此字段有值,mapper里面就有。告警个数字段不存在或者值为0的情况是等价的,排序上应该是平等的.对没有告警个数字段的默认设置0 , 那么排序的时候才正确。XX对象的告警个数字段是数字, 优先级字段是数字。一般用于排序时,该字段没有值,使用。不应该存在0的大于字段不存在的。原创 2023-03-14 19:00:03 · 1705 阅读 · 0 评论 -
ES:字符串排序,字符串按照数字排序
对一个字符串类型的字段进行排序通常不准确,因为已经被分词成多个词条了字段虽然是字符串,但是其实值是整数, 排序按照字符串转成整数排序解决方式:对字段索引两次,一次索引分词(用于搜索),一次索引不分词(用于排序)原创 2023-03-11 15:06:02 · 1884 阅读 · 0 评论 -
ES: 数据增,删,改,批量操作
文档的部分更新 | Elasticsearch: 权威指南 | ElasticES的新增和修改可以看做是一样,存在则修改,不存在则新增.修改数据的方式主要有两种。原创 2023-03-11 14:05:34 · 15174 阅读 · 0 评论 -
ES: Node角色以及使用方法
1> 对于大型集群来说,专用的。转载 2023-01-17 20:42:05 · 1048 阅读 · 0 评论 -
ES: 单主机部署多节点
4> 复制的elasticsearch文件夹下包含了data文件中示例一的节点数据,需要把示例二data文件下的文件清空。一定要将各个节点的值设置不同,否则会出现占用的情况。正常如果不修改,默认会分配值。一台服务器只能有一个主节点,所以在实例二的配置文件中可以添加。1>将node.name: node-1 修改为 node-2。2> 修改了配置文件的。3> 是因为默认情况下。转载 2023-01-17 20:15:50 · 608 阅读 · 0 评论 -
es系列:分页查询
1.from + size这种分页方式,在分布式的环境下的深度分页是有性能问题的,一般不建议用这种方式做深度分页GET kibana_sample_data_flights/_search{ "from": 10, "size": 2, "query": { "match": { "DestWeather": "Sunny" } }, "sort": [ { "timestamp": { "order": ..转载 2022-03-05 14:46:22 · 2802 阅读 · 0 评论 -
ES: exists查询 (must_not)
原因:查询文档,可以看到,默认设置最大查询数量是10000.解决方案:我们可以直接利用kibana工具,直接执行以下请求即可:PUT idx_user_info/_settings{ "index":{ "max_result_window":1000000 }}...转载 2022-03-05 14:42:16 · 2647 阅读 · 0 评论 -
es系列:获取按条查询出来真实的总数
elasticsearch版本7.x如果查询的结果大于1w条,则在total上的总数只是返回1w,如果想要获取真实的总数方法1: "track_total_hits": truePOST myindex/_search{ "track_total_hits": true, "query": { "match_all": { } }, "size": 2}如果是要在java中进行跟踪真实的查询结果总数:searchSourceBuilder.tr转载 2022-02-12 20:35:18 · 20736 阅读 · 0 评论 -
es系列:返回值数量超过10000条解决方式
修改集群配置config/elasticsearch.yml 文件增加如下配置max_result_window: 100000注意: :号和数值之间要有个空格修改完配置,重启集群即可转载 2022-02-12 20:28:37 · 2584 阅读 · 0 评论 -
es系统:聚合分析报错: Text fields are not optimised for operations
Elasticsearch权威指南里的聚合分析报错: Text fields are not optimised for operations that require per-document field data like aggregations and sorting。GET /my_index/_search{ "size": 0, "aggs": { "distinct_colors": { "cardinality": { "field":转载 2022-02-12 20:17:04 · 5756 阅读 · 0 评论 -
es系列: IK分词器的安装
IK中文分词器的安装ES默认是没有IK中文分词器的,我们要将IK中文分词器作为一个插件安装到ES中,安装的步骤也很简单1. 从GitHub上下载适合自己ES版本的IK中文分词器,地址如下:https://github.com/medcl/elasticsearch-analysis-ik/releases。2. 在我们的ES的插件目录中(${ES_HOME}/plugins)创建ik目录, 将我们下载好的IK分词器解压到ik目录。3. 重启我们所有的ES服务。 到这里,我们的IK中文...转载 2022-02-12 19:41:19 · 3974 阅读 · 0 评论 -
es系列:聚合查询
对某个字段取最大值max{"aggs":{"max_age":{"max":{"field":"age"} } },"size":0}年龄字段取最大值对某个字段求最小值{ "aggs":{ "min_age":{ "min":{"field":"age"} } }, "size":0 }对某个字段求和{ "aggs":{ "sum_age":{ "sum":{"field":"age"} } }, "size":0 }对某个字段取转载 2022-02-08 20:48:44 · 9378 阅读 · 2 评论 -
es系列: 索引
ES的数据结构我们常用的几个类型也就是这几种text、keyword、byte、short、integer、long、float、double、boolean、date,其中text和keyword都是string类型,选择区分很简单,需要进行分词用text,不需要并且进行排序或聚合的可以用keyword。创建索引库PUT /my_index{ "settings": { ... any settings ... }, "mappings": { "ty.转载 2022-02-08 18:41:17 · 2440 阅读 · 0 评论 -
ES:SQL 查询
ES: sql 查询转载 2022-02-08 18:36:27 · 3133 阅读 · 0 评论 -
es系列: elasticsearch集群正确关闭、重启方式
在elasticsearch集群中,当集群发现某个节点关闭时,将延迟一分钟后(默认)再开始将该节点上的分片复制到集群中的其他节点,这可能涉及很多I / O。由于该节点不久将要重新启动,因此该I / O是不必要的。您可以通过在关闭节点之前禁用副本分配来避免。正确关闭方式:禁止分片自动分布PUT _cluster/settings{ "persistent": { "cluster.routing.allocation.enable": "primaries" }}执行同步转载 2022-02-08 14:38:37 · 2800 阅读 · 0 评论 -
es系列:kibana :built-in security features are not enabled
#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.原因:.转载 2022-02-08 14:11:03 · 1083 阅读 · 0 评论 -
es系列:kibana 部署(单机)
下载https://www.elastic.co/cn/downloads/kibana解压kibanatar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz修改配置文件 kibana.yml# vi /kibana/config/kibana.yml修改配置server.port: 5601 #这个不一定需要配置server.host: "192.168.124.41"#配置本机IPelasticsearch.hosts:转载 2022-02-07 18:32:39 · 469 阅读 · 0 评论 -
es系列:ElasticSearch环境安装问题
1,max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]原因: 内存限制太小了!解决办法: 修改最大内存限制!修改sysctl.conf文件vim /etc/sysctl.conf在末尾增加如下配置:vm.max_map_count = 655360vm.swappiness=1然后保存退出,输入以下命令使其生效sysctl -p2,max nu转载 2022-02-07 17:07:33 · 237 阅读 · 0 评论 -
es系列:es集群部署
下载https://www.elastic.co/cn/downloads/elasticsearch下载你需要的版本准备三台Linux系统192.168.28.129192.168.28.130192.168.29.131创建es帐号Elasticsearch不能在 root 用户下启动,我们需要在三台机器上分别创建一个普通用户:# 创建elastic用户useradd elastic# 设置用户密码passwd elastic# 切换到elasti转载 2022-02-07 16:01:56 · 2530 阅读 · 0 评论