问题标签 [pyelasticsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1049 浏览

python - 在 Elasticsearch 中查询嵌套对象

我有一个产品-商家映射,如下所示

“产品”具有对象,例如 product_id 、 product_name 、 product_price 。产品和商家被映射,这样:

数据以所需的形式顺利索引。现在,当我从给定索引查询数据时,我按以下方式进行:

此查询为我提供了索引中商家名称为 "Sir John" 的所有产品的结果。但是,我希望它返回“约翰爵士”出售的产品“香草”的详细信息。

根据某人的建议,我在查询时使用了“_source”,但这并没有帮助。

如何从商家的整个“目录”索引中挑出单个对象的信息?

0 投票
1 回答
1274 浏览

elasticsearch - 如何在 Elasticsearch 中获取满足特定查询的所有不同字段值?

我的示例文档如下所示。

我想获取所有带来价格在4000到10000之间,长度在50到100之间的产品的用户。下面的查询返回所有满足上述条件的文档。

在这里,我将获取满足上述查询子句的所有文档,我什至可以通过指定来预测我的响应,"_source" = ["user"]这样我就不会得到整个文档,而只是user

相反,我想要的是所有独特的不同用户的列表。而不是所有可能具有user重复字段的文档。

像下面这样的聚合

聚合所有文档,而不是我想要对满足任何查询的文档进行聚合。我觉得我错过了一个简单的事情,比如在我的聚合中定义我的查询。但我不知道它是什么。

0 投票
1 回答
3687 浏览

elasticsearch - 嵌套数组上的 Elasticsearch 日期直方图聚合

以下是我的 elasticsearch 索引中的几个示例文档:

现在我需要查找每天的文档数量和每天的评论数量。我可以通过使用日期直方图获得每天的文档数量,它给了我正确的结果。我进行以下聚合查询

但是当我每天尝试类似的事情来获取评论时,它会返回不正确的数据,(对于 1500 多条评论,它只会返回 160 条奇数评论)。我正在做以下查询:

我想知道如何得到想要的结果?elasticsearch有没有办法得到我想要的?如果我需要提供任何其他信息,请告诉我。

预期输出:

0 投票
1 回答
2296 浏览

elasticsearch - Elasticsearch 中的聚合按参数分组

我在 elasticsearch 中有类似的文档:

{ "numberOfBedrooms": 2, "price": 1500, "type": flat }

我想获得统计数据,例如按房间划分的平均价格是多少,按类型划分的平均价格是多少,以及组合的平均价格是多少,例如每个 numberOfBedroom+type 组合的平均价格是多少。如何在弹性搜索中使用聚合来实现这一目标?

谢谢!

0 投票
1 回答
308 浏览

elasticsearch - 在弹性搜索中使用聚合和过滤器

我有一个弹性搜索运行这样的文档:

我正在尝试使用聚合来获取有关使用聚合的某个区域的统计信息,并且我正在使用的查询如下:

但在结果中我看不到聚合。只要我删除查询的布尔或过滤部分,我就可以看到聚合。我不知道为什么会这样,也不知道如何获得这些过滤器的聚合。我已经尝试使用这个问题的答案,但我无法解决它。有任何想法吗?

0 投票
1 回答
1236 浏览

django - 使用http身份验证的Django Haystack连接错误

我正在使用 Haystack 与安装的 elasticsearch 进行连接和交互。Elasticsearch 安装在与主网络服务器不同的盒子上。

我已经使用 nginx 在弹性搜索框上设置了 HTTP 身份验证。这是为了阻止对 elasticsearch 的未经授权的访问。

Haystack 配置如下所示:

通过此设置,我收到连接错误:

如果我关闭 HTTP 身份验证并相应地更新 URL,http://DOMAIN:PORT/则连接没有问题。

难道是Haystack(或elasticsearch-py(http://www.elasticsearch.org/guide/en/elasticsearch/client/python-api/current/)不允许在URL中使用HTTP身份验证?我注意这是 Solr 的问题 - Solr 身份验证(使用 Django Haystack)

0 投票
1 回答
1754 浏览

elasticsearch - ElasticSearch:使用多个加权函数进行排名;使用 random_score 时忽略其他函数

我想要一个复杂的排名,它由我想要加权并与搜索_score 相乘的几个函数组成。我知道使用 function_score -> functions 参数可以做到这一点。这是我所拥有的(注意,这是 Python):

笔记:

  • 每个文档都有一个“分数”字段,其中包含一个介于 0 和 1 之间的数字
  • “种子”是根据用户 ID 和当前日期生成的

观察到的行为:

  • 如果我注释掉 field_value_factor 函数,结果是随机排列的。
  • 如果我注释掉 random_score 函数,结果将按其 score 字段排序。
  • 如果我什么都不注释掉,结果和只有随机的一样:第二个函数似乎被忽略了
  • 即使将权重更改为极端值也不会对排名产生任何影响
  • 此外,在 field_value_factor 函数中使用“因子”不会做任何事情
  • 交换订单也不会改变行为......

我究竟做错了什么?还有其他方法可以调试吗?

编辑:解释输出

刚刚发现了解释命令!这是得分最高的结果的输出。试图把我的头缠在它周围......

编辑2:

所以看起来随机函数总是返回 0,并且与其他因素相乘当然是 0... 为什么会这样?

0 投票
1 回答
201 浏览

search - 在 pyelasticsearch 中指定搜索类型

使用pyelasticsearch时有没有办法指定搜索类型?'scan'、'scroll'、'query_and_fetch'等的文档中没有任何内容。运行以下代码:

产生以下错误:

0 投票
1 回答
104 浏览

elasticsearch - 如何使用elasticsearch按结果从组中搜索一些单词?

这是示例数据:

在 中type blog_comments,我有一些评论数据,其结构如下:

而对于#1和博客,总共#2有6条评论:type blog_comments

Question: Is it possible using some "magic" queries to get#1 as the result when I searching "Apple Fruit" and get#2when I search "Apple Earth" ?

我正在考虑将所有评论加入到每个博客的一个新记录(新类型)中,然后在这个新类型上进行搜索。但是评论太多了(大概有1200万条评论),而且这些评论已经被elasticsearch索引到了,所以还是尽量利用这些数据吧。

0 投票
3 回答
12870 浏览

elasticsearch - Elasticsearch 聚合按星期几和几小时

我有以下类型的文件:

我想按星期几计算文件数量。例如 x 消息是在星期一发送的,y 是在星期二发送的,以此类推。

我已将 date_histogram 与聚合一起使用,但它会按天返回文档。它确实返回了当天,但是说“Wed, 22”和“Wed, 29”作为单独的聚合文档返回。

这与Elasticsearch 有点相关——按星期几和每小时分组,但这个问题没有答案,所以我重新发布它。根据那里的建议,它要求我对 key_as_string 进行术语聚合,但我需要为每个对象添加 doc_count 而不仅仅是计算术语。我也不知道如何在嵌套聚合中使用 key_as_string。

这是我尝试过的: