ElasticSearch遐想
众所周知,ElasticSearch 存在一个问题,无法查询最近 1s 的写入。近实时这个属性,限制了其在某些场景的应用。本文记录了我在日常工作中想到的,解决特定场景的一些方案。既然是记录,便会有好有坏,仅供大家参考。预设上下文一个书籍(book)索引(index),文档(doc)属性有:名称(name),...
2024-01-10Elasticsearch中的总和查询
我是Elasticsearch的新手。我正在尝试编写一个查询,该查询将按字段分组并计算总和。在SQL中,我的查询如下所示: SELECT lane,SUM(routes) FROM lanes GROUP BY lane我有在ES中看起来像这样的数据:{ "_index": "kpi", "_type": "mroutes_by_lane", "_id": "TUeWFEhnS9q1Ukb2QdZABg", "_score": 1.0, "_source": { "warehouse_id"...
2024-01-10ElasticSearch分词器,了解一下
这篇文章主要来介绍下什么是 Analysis ,什么是分词器,以及 ElasticSearch 自带的分词器是怎么工作的,最后会介绍下中文分词是怎么做的。首先来说下什么是 Analysis:什么是 Analysis?顾名思义,文本分析就是把全文本转换成一系列单词(term/token)的过程,也叫分词。在 ES 中,Analysis 是通过分词器(Ana...
2024-01-10Elasticsearch系列生产集群部署(下)
概要本篇继续讲解Elasticsearch集群部署的细节问题集群重启问题如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时,从第一个节点开始启动,到最后一个节点启动完成,耗时可能较长,有时候还可能出现某几个节点因故障无法启动,...
2024-01-10Elasticsearch无法更新非动态设置
我正在尝试创建一个测试分析器,以对Elastic Search的分析进行实验。我创建了一个索引“mytest”,该索引可用且可搜索,但是当我尝试创建自定义分析器时,出现以下错误{"error": "ElasticsearchIllegalArgumentException[Can't update non dynamic settings[[index.analysis.analyzer.content.type, index.analysis.analyzer.content.tokenizer]] fo...
2024-01-10如何设置Elasticsearch客户端节点?
我有几个关于客户端节点的Elasticsearch问题:我可以说:任何节点只要打开HTTP端口,我都可以将它们视为“客户端”节点,因为我们可以通过该节点进行搜索/索引。实际上,当cluster=false和时data=false,我们将节点视为客户端节点,如果我设置了10个客户端节点,是否需要在客户端进行路由,这意味着...
2024-01-10ElasticSearch Spark错误
我是ElasticSearch的新手,我正在尝试编写一些ApacheSpark代码以将一些数据保存到ElasticSearch中。我在SparkShell中输入了以下几行: import org.elasticsearch.spark._ val myMap = Map("France" -> "FRA", "United States" -> "US") val myRDD = sc.makeRDD(Seq(myMap)) myRDD.saveToEs("Country/Abbrv")错误: org.el...
2024-01-10Elasticsearch:路径下的嵌套对象不是嵌套类型
我一直在尝试搜索包含嵌套字段的文档。我创建了这样的嵌套映射:{ "message": { "properties": { "messages": { "type": "nested", "properties": { "message_id": { "type": "string" }, "message_text": { "type": "string" }, "message_nick": { "type...
2024-01-10Elasticsearch在Centos下搭建可视化服务
要想可视化ElasticSearch,就需要安装一些插件,安装插件的前提是安装所依赖的环境,比如maven等。一、下载hear插件及node、配置node环境wget https://github.com/mobz/elasticsearch-head/archive/master.zip由于运行head需要运行node所以也要下载node,这里是node下载列表 https://npm.taobao.org/mirrors/nodewget https://npm.taobao.org/mir...
2024-01-10Kafka Elasticsearch连接器时间戳
我可以看到例如在这里进行了几次讨论,但是我认为由于Elasticsearch中的重大更改,解决方案已过时。我正在尝试将我在Kafka主题中的Json中的long / epoch字段转换为通过连接器推送的Elasticsearch日期类型。当我尝试添加动态映射时,我的Kafka连接更新失败,因为我试图将两个映射应用于字段_doc和kafkaconnect。...
2024-01-10ElasticSearch索引不起作用/可靠
我正在围绕ElasticSearch的管理客户端编写一个简单的Java包装器。为了测试它,我有一个主要方法,该方法首先检查索引是否存在(IndicesExistsRequest),如果存在则将其删除(DeleteIndexRequest),然后再次创建索引。请参见下面的代码。但是我一直得到IndexAlreadyExistsException。顺便说一句,我正在尝试为您从...
2024-01-10默认情况下在elasticsearch中禁用字段分析
是否可以为类型选择性地启用elasticsearch字段的索引?通过特定索引的映射设置,可以设置属性{“ index”:“ not_analyzed”}对于特定领域。由于我的文档中的字段太多,并且将来可能会更改结构,因此我需要一个映射,除非另行指定,否则默认情况下不会分析字段。这可能吗?回答:是的-看一下动...
2024-01-10Elasticsearch动态模板匹配几个确切的字段
我目前正在努力简化Elasticsearch的映射模板文件。事实上,我有几个Object字段具有相同的结构(例如源和目标)Elasticsearch动态模板匹配几个确切的字段有没有办法设置动态模板,以便它可以匹配多个模式?这是我执行:POST /_template/mapping-lol { "template": "*-newevents-*", "mappings": { "log": { "dyna...
2024-01-10Elasticsearch查询中的OR和AND运算符
我有以下格式的json文件:- _source: { userId: "A1A1", customerId: "C1", component: "comp_1", timestamp: 1408986553, }我想根据以下内容查询文档:-(( userId == currentUserId) OR ( customerId== currentCustomerId) OR (currentRole ==AD...
2024-01-10Windows下安装ElasticSearch的方法(图文)
ES是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index)有点类似,都是基于分词和分段的全文搜索引擎,具有分词,同义词,词干查询的功能,但是ES天生具有分布式和实时的属性,本随笔演示在Windows环境中安装ElasticSearch,以及用于管理ElasticSearch的Head插件。ElasticSearch官网...
2024-01-10完全卸载并删除Elasticsearch以完全重启并开始新的
在尝试了Elasticsearch之后,我正在寻找一种方法来完全删除服务器上与Elasticsearch有关的所有内容。我犯了很多错误,并希望通过全新安装开始全新的安装。回答:只需找到Elasticsearch所在的Java进程并杀死或使用它即可curl -XPOST /*Your Ip*/:9200/_shutdown。然后,只需删除ES文件/文件夹,即可从系统中删除Elastic...
2024-01-10是否需要在ElasticSearch中使用负载均衡器?
我有一个在AWS EC2上运行的3个ElasticSearch节点集群。这些节点是使用OpsWorks /Chef设置的。我的目的是将该群集设计为非常有弹性和弹性(需要时,节点可以进出)。从我阅读的有关ElasticSearch的所有内容来看,似乎没有人建议将负载均衡器放在集群的前面。相反,似乎建议您执行以下两项操作之一:将...
2024-01-10Elasticsearch定制分析器,用于连字符,下划线和数字
诚然,我不太了解ES的分析部分。这是索引布局:{ "mappings": { "event": { "properties": { "ipaddress": { "type": "string" }, "hostname": { "type": "string", ...
2024-01-10ElasticSearch-滚动索引的别名自动更新
我定义了以下滚动索引:POST /_aliases{ "actions": [ { "add": { "index": "elmah_*", "alias": "elmah_all" } } ]}今天效果很好,它收集了我所有 每月滚动指标。问题在于,当索引滚动到新的月份时,它会自动生成的新索引elmah_2016_06,但是我的别名无法获取该新索引。每个月我需要通过运...
2024-01-10在Elasticsearch中插入多个文档-批量文档格式化
TLDR;如何批量格式化JSON文件以提取到Elasticsearch?我试图将一些NOAA数据吸收到Elasticsearch中,并一直在利用NOAAPythonSDK。我编写了以下Python脚本来加载数据并以JSON格式存储。from noaa_sdk import noaaimport jsonn = noaa.NOAA()alerts = n.alerts()f = open('nhc_alerts.json', 'w')json.dump(alerts, f)f.write('\n')JSON输...
2024-01-10找不到要在ElasticSearch上排序的字段映射
SearchParseException如果发现某些文档不包含排序条件中使用的字段,Elasticsearch会在解析时引发查询。SearchParseException:解析失败[未找到[价格]的映射以进行排序]即使缺少某些price字段,如何才能成功搜索这些文档?回答:在深入研究之后,我找到了下面给出的解决方案。ignore_unmapped应该true在sort子句中...
2024-01-10启动时如何将索引模板文件加载到elasticsearch中?
在elasticsearchv1.5中,可以将Index模板放在模板目录下的配置位置(path.conf)中elasticsearch/config/templates。但是,我发现升级到v2.3或v5.3后将不会加载此模板。有什么办法加载索引模板吗?https://www.elastic.co/guide/zh-CN/elasticsearch/reference/1.5/indices-templates.html回答:在2.x或5.x中没有其他方法。从Elasticsearch的2.0.0-...
2024-01-10在Elasticsearch中找到不同的值,而不是不同的计数
Elasticsearch文档建议 *他们的一段代码*文件固定GET /cars/transactions/_search?search_type=count{ "aggs": { "distinct_colors": { "cardinality": { "field": "color" } } }}对应于sql查询SELECT DISTINCT(color) FROM cars但实际上对应于SELECT COUNT(DISTINCT(color)) FR...
2024-01-10Elasticsearch部分更新脚本:清除数组并替换为新值
我有类似的文件:{ MyProp: ["lorem", "ipsum", "dolor"] ... lots of stuff here ...}我的文档可能很大(但这些MyProp字段不是很大),并且从头开始生成它们很昂贵。有时我需要更新这些批次-因此进行 部分 更新(节省“索引客户端”的处理能力和带宽,从而节省时间)并用新值替换MyProp值将是有益的。原始文...
2024-01-10总是搜不到想要的内容?Elasticsearch搜索排名优化了解一下
导语 | Elasticsearch(下文简称ES) 是当前热门的开源全文搜索引擎,利用它我们可以方便快捷搭建出搜索平台,但通用的配置还需要根据平台内容的具体情况做进一步优化,才能产生令用户满意的搜索结果。下文将介绍对 ES 搜索排名的优化实践,希望与大家一同交流。文章作者:曹毅,腾讯应用开发工...
2024-01-10