Elasticsearch查询过滤解惑
简介之前一直被查询(query)与过滤(filter)所困惑,为什么同样是bool在一个地方就是查询,在另一个地方就是过滤了。后来仔细的看了一下官方文档才发现,都是查询,只是区分:query context(查询上下文)filter context(过滤上下文)为什么要区分query context与filter context呢?因为效率不同,在 filter context中...
2024-01-10在Elasticsearch中更改ID
我在使用ElasticSearch时遇到问题,如何更改id为日志文件中的另一个字段?回答:在elasticsearch输出中,您可以为要运送的事件设置document_id。这最终将成为elasticsearch中的_id。您可以使用logstash配置中可用的各种参数/字段引用/…。像这样:elasticsearch { host => yourEsHost cluster => "yourCluster" index => "log...
2024-01-10Elasticsearch服务器发现配置
我已经安装了运行的ElasticSearch服务器:$ ./elasticsearch -f {0.18.2}[11698]: initializing ... loaded [], sites [] {0.18.2}[11698]: initialized {0.18.2}[11698]: starting ... bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/192.168.1.106:9300]} new_mas...
2024-01-10Elasticsearch可视化管理工具
Elasticsearch 虽然可以通过 RESTful API 操作,但是使用还是比较麻烦,下文介绍几个常用的可视化管理工具。PS: 下面是Elasticsearch 部署 与 RESTful API 常用操作Docker-compose 部署 ELKElasticsearch RESTful API 常用操作ElasticHDElasticHD 支持 ES监控、实时搜索、Index template快捷替换修改、索引列表信息查看, SQL converts t...
2024-01-10使用Elasticsearch计算文档数
如果要计算索引(Elasticsearch的索引)中的文档数,则有(至少?)两种可能性:POST my_index / _count应该返回中的文档数my_index。在这里,可以将count用作search_type或其他类型。无论哪种情况,都可以从现场提取总计数['hits']['total']不同方法之间有什么区别?我应该选哪一个?我提出这个问...
2024-01-10ElasticSearch分词器,了解一下
这篇文章主要来介绍下什么是 Analysis ,什么是分词器,以及 ElasticSearch 自带的分词器是怎么工作的,最后会介绍下中文分词是怎么做的。首先来说下什么是 Analysis:什么是 Analysis?顾名思义,文本分析就是把全文本转换成一系列单词(term/token)的过程,也叫分词。在 ES 中,Analysis 是通过分词器(Ana...
2024-01-10Elasticsearch中的加权随机抽样
我需要从ElasticSearch指数获得了随机抽样,即发出查询检索从加权概率定索引一些文档Wj/ΣWi(这里Wj是行的权重j,并Wj/ΣWi在此查询所有文件的权重的总和)。当前,我有以下查询:GET products/_search?pretty=true{"size":5, "query": { "function_score": { "query": { "bool":{ "must": { "term": ...
2024-01-10如何在Elasticsearch中匹配前缀
假设在我的Elasticsearch索引中,我有一个名为“点”的字段,其中将包含由标点符号分隔的字符串(例如“ first.second.third”)。我需要搜索例如“ first.second”,然后获取其“点”字段包含正好是“ first.second”或以“first.second”开头的字符串的所有条目。我在理解文本查询的工作方式时遇到问题,至少...
2024-01-10Elasticsearch系列生产集群部署(下)
概要本篇继续讲解Elasticsearch集群部署的细节问题集群重启问题如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时,从第一个节点开始启动,到最后一个节点启动完成,耗时可能较长,有时候还可能出现某几个节点因故障无法启动,...
2024-01-10ElasticSearch非法参数异常
我正在Ubuntu 16.04上使用最新版本的Elasticsearch,但在将数据放到上面时遇到了一个小问题。这是我的json文档(相关部分){ "products" : { "232CDFDW89ENUXRB" : { "sku" : "232CDFDW89ENUXRB", "productFamily" : "Compute Instance", "attributes" : { "servicecode" : "AmazonE...
2024-01-10Elasticsearch:聚合,按字段计数
我将此数据插入了Elasticsearch:[ { "name": "Cassandra Irwin", "location": "Monzon de Campos" .. }, { "name": "Gayle Mooney", "location": "Villarroya del Campo" .. }, { "name": "Angelita Charles", "location": "Revenga de Campos" .. }, { "name": "She...
2024-01-10如何在Elasticsearch中删除文档类型?
我创建具有指定文档类型“ mytype”的索引“ myindex”。我可以删除索引,但是似乎“ mytype”仍然存在而没有与索引绑定。如何摆脱“ mytype”?回答:如果您确实删除了索引,则该索引中的映射将不再存在。集群中是否还有其他具有相似类型名称的索引?要回答问题:How to delete document types in elasticsear...
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-10Elasticsearch:路径下的嵌套对象不是嵌套类型
我一直在尝试搜索包含嵌套字段的文档。我创建了这样的嵌套映射:{ "message": { "properties": { "messages": { "type": "nested", "properties": { "message_id": { "type": "string" }, "message_text": { "type": "string" }, "message_nick": { "type...
2024-01-10在ElasticSearch中返回时间戳字段
为什么在能够过滤查询时无法看到_timestamp字段?以下查询返回正确的文档,但不会返回时间戳本身。如何返回时间戳?{ "fields": [ "_timestamp", "_source" ], "query": { "filtered": { "query": { "match_all": {} }, "filter": { "range": { "_timestamp": { "...
2024-01-10默认情况下在elasticsearch中禁用字段分析
是否可以为类型选择性地启用elasticsearch字段的索引?通过特定索引的映射设置,可以设置属性{“ index”:“ not_analyzed”}对于特定领域。由于我的文档中的字段太多,并且将来可能会更改结构,因此我需要一个映射,除非另行指定,否则默认情况下不会分析字段。这可能吗?回答:是的-看一下动...
2024-01-10将数据从pyspark写入ElasticSearch
我跟随本文将一些数据发送到AWS ES,并使用了jar elasticsearch-hadoop。这是我的脚本:from pyspark import SparkContext, SparkConffrom pyspark.sql import SQLContextif __name__ == "__main__": conf = SparkConf().setAppName("WriteToES") sc = SparkContext(conf=conf) sqlContext = SQ...
2024-01-10完全卸载并删除Elasticsearch以完全重启并开始新的
在尝试了Elasticsearch之后,我正在寻找一种方法来完全删除服务器上与Elasticsearch有关的所有内容。我犯了很多错误,并希望通过全新安装开始全新的安装。回答:只需找到Elasticsearch所在的Java进程并杀死或使用它即可curl -XPOST /*Your Ip*/:9200/_shutdown。然后,只需删除ES文件/文件夹,即可从系统中删除Elastic...
2024-01-10Windows下安装ElasticSearch的方法(图文)
ES是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index)有点类似,都是基于分词和分段的全文搜索引擎,具有分词,同义词,词干查询的功能,但是ES天生具有分布式和实时的属性,本随笔演示在Windows环境中安装ElasticSearch,以及用于管理ElasticSearch的Head插件。ElasticSearch官网...
2024-01-10是否需要在ElasticSearch中使用负载均衡器?
我有一个在AWS EC2上运行的3个ElasticSearch节点集群。这些节点是使用OpsWorks /Chef设置的。我的目的是将该群集设计为非常有弹性和弹性(需要时,节点可以进出)。从我阅读的有关ElasticSearch的所有内容来看,似乎没有人建议将负载均衡器放在集群的前面。相反,似乎建议您执行以下两项操作之一:将...
2024-01-10Elastic search模糊匹配,精确匹配显示在前
我想在查询上使用模糊匹配,但在结果顶部显示完全匹配。我已经尝试了以下方法。$return = $this->_client->search( array( 'index' => self::INDEX, 'type' => self::TYPE, 'body' => array( 'query' => array( ...
2024-01-10ElasticSearch仅查询嵌套(如果存在)
我有此搜索查询,用于在根标题和描述中找到查询搜索词“ red dog”,并且还匹配嵌套的注释文档。GET /_all/video/_search{ "query":{ "bool":{ "should":[ { "multi_match":{ "query":"red dog", "fields":[ "Title", ...
2024-01-10指定在ElasticSearch中建立索引的字段
我有一个文档,其中包含许多我从未查询过的字段,因此我想关闭这些字段的索引以节省资源。我相信我需要禁用该_all字段,但是如何指定要对哪些字段建立索引呢?回答:默认情况下,所有字段也都在_all特殊字段内建立索引,该字段开箱即用地提供了所谓的catchall功能。但是,可以通过以下include_in...
2024-01-10Elasticsearch定制分析器,用于连字符,下划线和数字
诚然,我不太了解ES的分析部分。这是索引布局:{ "mappings": { "event": { "properties": { "ipaddress": { "type": "string" }, "hostname": { "type": "string", ...
2024-01-10如何通过Elasticsearch模糊匹配电子邮件或电话?
我想对Elasticsearch的电子邮件或电话进行模糊匹配。例如:匹配所有以结尾的电子邮件 @gmail.com要么匹配所有电话开头136。我知道我可以使用通配符{ "query": { "wildcard" : { "email": "*gmail.com" } }}但是性能很差。我尝试使用regexp:{"query": {"regexp": {"email": {"value": "*163\.com*"} } } }但是不起作用。...
2024-01-10