分页Elasticsearch聚合结果
想象一下,我有两种记录:一个存储桶和一个项目,其中存储在存储桶中的项目,而存储桶中的项目可能相对较少(通常不超过4个,从不超过10个)。这些记录被压缩为一个(具有更多存储桶信息的项目),并放置在Elasticsearch中。我要解决的任务是通过依赖项属性的过滤查询一次找到500个存储桶(最大...
2024-01-10Elasticsearch中的多个分组依据
我需要在ES中使用3个字段进行汇总(分组)。我可以在1个查询中执行此操作,还是需要对每列使用facet +迭代?谢谢回答:您可以通过2种方式来做到这一点:1)在一个方面中使用多个字段:单个字段facet的示例:curl -X GET "http://localhost:9200/sales/order/_search?pretty=true" -d '{ "query": { "query_string": { ...
2024-01-10检查索引是否存在Elasticsearch
我想在elasticsearch中检查索引是否存在。如果不存在,则应创建索引并执行其他功能。我试图找到一个解决方案,但是没有找到完美的解决方案。任何人都可以有解决此问题的任何解决方案。我正在使用Elasticsearch库。**$client = new Elasticsearch\Client();**回答:根据索引操作和源代码,以下应该工作 $client ...
2024-01-10Elasticsearch入门核心概念详解
@Document(indexName = "item",type = "docs", shards = 1, replicas = 0)public class Item { [@Id](https://my.oschina.net/u/3451001) private Long id; @Field(type = FieldType.Text, analyzer = "ik_max_word") private String title; @Field(type = Field...
2024-01-10Elasticsearch系列聚合查询(一)
基础概念bucket数据分组,一些数据按照某个字段进行bucket划分,这个字段值相同的数据放到一个bucket中。可以理解成Java中的Map<String, List<Object>>结构,类似于Mysql中的group by后的查询结果。metric:对一个数据分组执行的统计,比如计算最大值,最小值,平均值等类似于Mysql中的max(),min(),avg()函数的值,...
2024-01-10Elasticsearch按嵌套对象计数排序
我有以下ES内容,基本上是网站中包含嵌套商品的产品列表。{"product": { "ean": "abc", "features": { "product_type": "DVD player" }, "color": "Black", "manufacturer": "Sony", "sitedetails": [ { "name": "amazon.com", "sku": "zzz", "url": "http://www.ama...
2024-01-10Elasticsearch计算忽略空格的术语
使用ES 1.2.1我的聚集{ "size": 0, "aggs": { "cities": { "terms": { "field": "city","size": 300000 } } }}问题是某些城市名称中包含空格,并分别汇总。例如洛杉矶{ "key": "Los", "doc_count": 2230},{ "key": "Angeles", "doc_count...
2024-01-10Elasticsearch过滤结果按ID排除
我需要返回不包含具有特定ID的文档的结果。Elasticsearch允许我们指定允许使用哪些ID,但是我看不到任何禁止某些ID的方法。在我的情况下,我不想返回用户已经看到的内容,因此每个用户的列表都不同。回答:您可以通过添加一个bool/must_not过滤器来实现此目的,该过滤器包含一个ids过滤器,该过滤器...
2024-01-10在Elasticsearch中使用特殊字符搜索
我无法在Elasticsearch中以特殊字符结尾/开头的字符进行搜索。就像“ 123456!”{ "query": { "query_string": { "default_field": "password", "query": "123456!" } }}我的映射是{ "mappings": { "passwords": { "properties": { "date": { "type": "date"}, ...
2024-01-10ElasticSearch索引Unix时间戳
我必须索引包含“时间”字段的文档,该字段的值是一个整数,表示自纪元以来的秒数(又称为Unix时间戳)。我一直在阅读ES文档,发现了这一点:http://www.elasticsearch.org/guide/reference/mapping/date-format.html但是似乎如果我要提交unix时间戳并将其存储在“日期”字段中(整数字段对我没有用),我只有两...
2024-01-10如何在python中使用Elasticsearch
什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度、谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据。然而对于我们自己的业务数据来说,肯定就没必要用这么复杂的技术了,如果我们想实现自己的搜索引擎,方便存储和检索,Elasticsear...
2024-01-10获取整个索引中的总词频(Elasticsearch)
我正在尝试计算特定术语在整个索引中出现的总次数(术语收集频率)。我试图通过使用术语向量来做到这一点,但是这仅限于单个文档。即使在指定文档中存在术语的情况下,响应似乎也达到了某个doc_count(在field_statistics之内)的最大值,这使我怀疑其准确性。请求:http://myip:9200/clinicaltrials/trial/AV...
2024-01-10Elasticsearch重新索引错误-客户端请求超时
我正在尝试使用以下行重新索引:POST _reindex{ "source": { "index": "poi_201705" }, "dest": { "index": "poi_dev_2" }}但是我在kibana控制台中遇到以下错误:{ "statusCode": 504, "error": "Gateway Time-out", "message": "Client request timeout"}谁能告诉我这个问题是什么以及如何摆脱它。回答:504只是意味着请求仍在...
2024-01-10Elastic search模糊匹配,精确匹配显示在前
我想在查询上使用模糊匹配,但在结果顶部显示完全匹配。我已经尝试了以下方法。$return = $this->_client->search( array( 'index' => self::INDEX, 'type' => self::TYPE, 'body' => array( 'query' => array( ...
2024-01-10将MongoDB与ElasticSearch同步
我想将MongoDB数据同步到ElasticSearch,我读了很多关于ElasticsearchRiver插件和mongo连接器的文章,但是不推荐使用mongo 4和elasticsearch 7!作为logstash专有软件,我想使用它来同步两者…任何人都知道如何做到这一点?回答:您可以将MongoDB和Elasticsearch与Logstash同步;实际上,同步是Logstash的主要应用之一。安...
2024-01-10向ElasticSearch术语聚合添加其他字段
索引文件如下:{ id: 1, title: 'Blah', ... platform: {id: 84, url: 'http://facebook.com', title: 'Facebook'} ...}我想要的是按平台计数和输出统计信息。为了进行计数,我可以将术语聚合platform.id作为字段进行计数:aggs: { platforms: { terms: {field: 'platform.id'} }}这样,我就可以像{key: 8, doc_count: 162511...
2024-01-10ElasticSearch在哪里存储持久性设置?
当我通过获取我的ElasticSearch服务器设置时curl -XGET localhost:9200/_cluster/settings我看到了持久性和临时性设置。{ "persistent": { "cluster.routing.allocation.cluster_concurrent_rebalance": "0", "threadpool.index.size": "20", "threadpool.search.size": "30", "cluster.routi...
2024-01-10Elasticsearch数组must和must_not
我的Elasticsearch DB中有一个像这样的文档:{ "tags" => [ "tag-1", "tag-2", "tag-3", "tag-A" ] "created_at" =>"2013-07-02 12:42:19 UTC", "label" =>"Mon super label"}我希望能够使用此条件过滤我的文档:Documents标签数组必须具有标签1,标签3和标签2,但不能具有标签A。我尝试使用布尔过滤器,...
2024-01-10从Elasticsearch的索引中仅获取过滤的嵌套对象
我有一个包含嵌套对象的文档,如下所示:{ "title" : "Title 1", "books": [{ "book_title": "b title 1", "year": 2014 }, { "book_title": "b title 2", "year": 2015 }]}现在,我需要按书名(不是book_title)和年份(比如2014)来过滤书籍。我需要的输出将是:{ "title" : "Title 1",...
2024-01-10Elasticsearch系列Java客户端代码Demo
概要本篇讲解Elasticsearch的客户端API开发的一些示例,以Java语言为主,介绍一些最常用,最核心的API。代码示例引入依赖我们以maven项目为例,添加项目依赖<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>6.3.1</version></dependency><dependency> <groupId>org.elasticsearch.cli...
2024-01-10带有不同权重的多字段上的Elasticsearch完成建议
我在Elasticsearch中使用“完成建议程序”来允许部分单词匹配查询。在我的索引(products_index)中,我希望能够同时查询 字段和 字段。这是我的映射:POST /product_indexmappings: { products: { properties: { brand: { type: "string", analyzer: "english" }, product_name: { type: "st...
2024-01-10Elastic search给出错误在群集中找不到活动节点
我开始使用Elastic search。我成功在服务器上安装了elasticsearch(与应用程序服务器不同),但是当我尝试从应用程序服务器调用Elatic搜索时出现错误 Fatalerror: Uncaught exception'Elasticsearch\Common\Exceptions\NoNodesAvailableException' with message 'Noalive nodes found in your cluster'当我检查Elastic search状态时,它显示 。如...
2024-01-10ElasticSearch:未分配的碎片,如何解决?
我有一个具有4个节点的ES集群:number_of_replicas: 1search01 - master: false, data: falsesearch02 - master: true, data: truesearch03 - master: false, data: truesearch04 - master: false, data: true我不得不重新启动search03,当它回来时,它又重新加入了群集,没有问题,但是留下了7个未分配的碎片。{ "cluster_name" : "tw...
2024-01-10如何通过使用Elasticsearch聚合返回唯一文档的数量
我遇到了一个问题,elasticsearch仅通过在嵌套字段上使用术语聚合就无法返回唯一文档的数量。这是我们的模型的一个例子:{ ..., "location" : [ {"city" : "new york", "state" : "ny"}, {"city" : "woodbury", "state" : "ny"}, ... ], ...}我想在状态字段上进行汇总,但是由于“ ny”在文档中出现两...
2024-01-10Elasticsearch匹配除指定字段之外的所有查询,排除
我编入索引的Elasticsearch文档包含许多字段。我一直在使用match_all查询来获取结果。我想从match_all中排除一些字段,这可能吗?回答:在Elasticsearch中,您可以使用部分字段来过滤字段。例:{ "query": { "match_all": {} }, "partial_fields": { "partial1": { "exclude": ["excludeField1", "excludeField...
2024-01-10