Elasticsearch查询过滤解惑
简介之前一直被查询(query)与过滤(filter)所困惑,为什么同样是bool在一个地方就是查询,在另一个地方就是过滤了。后来仔细的看了一下官方文档才发现,都是查询,只是区分:query context(查询上下文)filter context(过滤上下文)为什么要区分query context与filter context呢?因为效率不同,在 filter context中...
2024-01-10ElasticSearch分词器,了解一下
这篇文章主要来介绍下什么是 Analysis ,什么是分词器,以及 ElasticSearch 自带的分词器是怎么工作的,最后会介绍下中文分词是怎么做的。首先来说下什么是 Analysis:什么是 Analysis?顾名思义,文本分析就是把全文本转换成一系列单词(term/token)的过程,也叫分词。在 ES 中,Analysis 是通过分词器(Ana...
2024-01-10在Elasticsearch中存储日期格式
我想在Elasticsearch中添加一个日期时间字符串时遇到问题。该文件如下:{"LastUpdate" : "2013/07/24 00:00:00"}该文档提出了一个错误 "NumberFormatException" [For input string: \"20130724 00:00:00\"]我知道我可以在Elasticsearch中使用日期格式,但是即使阅读网站上的文档,我也不知道如何使用。{"LastUpdate": { "properties": { ...
2024-01-10重命名和删除Elasticsearch索引
我正在使用带有NEST的C#.NET应用程序来创建索引。我创建了一个Elasticsearch索引,客户可以查询该索引,称为index_1。然后,我使用应用程序的不同实例构建索引的另一个版本,并将其称为index_1_temp。我将index_1_temp重命名为index_1然后删除原始index_1的最安全方法是什么?我知道ES具有别名,但是我不确定...
2024-01-10Elasticsearch系列实现分布式锁
乐观锁与悲观锁乐观锁ES默认实现乐观锁,所有的数据更新默认使用乐观锁机制。document更新时,必须要带上currenct version,更新时与document的version进行比较,如果相同进行更新操作,不相同表示已经被别的线程更新过了,此时更新失败,并且重新获取新的version再尝试更新。悲观锁我们举一个这样的...
2024-01-10Elasticsearch系列生产集群部署(下)
概要本篇继续讲解Elasticsearch集群部署的细节问题集群重启问题如果我们的Elasticsearch集群做了一些离线的维护操作时,如扩容磁盘,升级版本等,需要对集群进行启动,节点数较多时,从第一个节点开始启动,到最后一个节点启动完成,耗时可能较长,有时候还可能出现某几个节点因故障无法启动,...
2024-01-10ElasticSearch安装启动问题
解决:切换非root用户2.Likely root cause: java.nio.file.AccessDeniedException: /usr/local/elasticsearch-6.4.3/config/elasticsearch.keystore解决 :权限不够 chown -R esuser:esuser /usr/local/elasticsearch-6.4.3 3.ERROR: [1] bootstrap checks failed [1]: max virtual memory ar...
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系列分布式架构机制讲解
概要本篇主要介绍Elasticsearch的数据索引时的分片机制,集群发现机制,primary shard与replica shard是如何分工合作的,如何对集群扩容,以及集群的容错机制。分片机制前面基本概念一节中,我们有提到建立索引时,会自动将数据拆分到多个分片(shard)中,默认数量是5,这个就是索引数据分片机制。我...
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-10PHP中的Elasticsearch完成建议者查询
我找不到有关如何使用PHP(elasticsearch-php)中的完成建议器查询Elasticsearch的有效示例。通过CURL查询,例如curl -X POST 'localhost:9200/tstidx/_suggest?pretty' -d '{"try" : { "text" : "a", "completion" : { "field" : "suggest" }}}'可以,所以唯一的问题是PHP中的查询部分。如何使用API通过完成建议器查询Elast...
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完全卸载并删除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-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如何将一些ElasticSearch数据复制到新索引
假设我的ElasticSearch中有电影数据,并且我这样创建它们:curl -XPUT "http://192.168.0.2:9200/movies/movie/1" -d'{ "title": "The Godfather", "director": "Francis Ford Coppola", "year": 1972}'我有一堆不同年代的电影。我想复制特定年份(即1972年)中的所有电影,然后将它们复制到新的索引“ 70sMovies”,但是我看不到该...
2024-01-10空嵌套对象,对ElasticSearch进行部分更新
我在ElasticSearch中将以下文档编入索引{ "myObj":{ "name": "test", "elements": { "val": 1 } }}我想进行部分更新以清空嵌套属性,elements所以我应该这样做elements": {};因此,我尝试发送部分更新:POST /entities/_doc/1/_update{ "doc" : { "myObj":{ "elements": {} } }}但是...
2024-01-10