问题标签 [elasticsearch-dsl]

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 回答
815 浏览

python - Not able to create document with elasticsearch dsl if give boolean type with false value

I have code as below

I get error

if you see, I am passing delete=False in code when I try to create the doc object.

When its not taking deleted value?

If i remove deleted

Then also it gives same error, seems deleted is not taken care by elasticsearch dsl.

0 投票
1 回答
567 浏览

elasticsearch - 复合 Elasticsearch 过滤器中的空 inner_hits

我在嵌套布尔查询中看到了 inner_hits 结果中的异常行为。

测试数据(为简洁起见):

这个初始查询的行为与我预期的一样(我知道在这个示例中元数据过滤器实际上并不是必需的):

它产生一个 inner_hits 对象,其中包含与谓词匹配的一个句子(为清楚起见,删除了一些字段):

以下查询尝试将上述查询嵌入父“应该”子句中,以在初始查询和匹配单个句子的附加查询之间创建逻辑 OR:

虽然“d1”查询输出了人们期望的结果,inner_hits 对象包含匹配的句子,但原来的“d0”查询现在产生一个空的 inner_hits 对象:

尽管我使用 elasticsearch_dsl Python 库来构建和组合这些查询,而且我对 Query DSL 还是个新手,但查询格式对我来说看起来很可靠。

我错过了什么?

0 投票
1 回答
361 浏览

python - Elasticsearch 布尔分面返回为错误类型

我正在使用 ES v5.1.2 并且遇到一个问题,即刻面返回的布尔字段类型不正确。这是重现和演示问题的最小设置:

现在在索引中创建一些文档,并执行分面搜索:

个人响应数据看起来正确:

也就是说,我们对搜索结果进行了反序列化 Python 布尔值。但是,聚合中的数据不正确:

刻面应该是(值、计数、选定)的 3 元组。但是布尔值返回为 1 和 0,它们没有被反序列化,所以前端和我的模板无法区分整数类型和布尔类型。总而言之,预期和实际行为如下所示:

实际行为:

预期行为:

我在这里做错了什么?我们如何使Boolean字段的构面值在构面中正确反序列化,就像在实际搜索结果中那样?

0 投票
1 回答
1725 浏览

python - 使用 Django 和 Elasticsearch 索引新对象

我无法让 django 自动索引新创建的对象。

我曾经groupby创建一些自定义数据。

每次创建新模型时,都应该对其进行索引。

确实索引“title”值,但“tag”值不存在。

所以,我创建了一个手动函数“manual_index”。当我运行它时,“标签”值确实被添加到索引中。然而,这个过程必须手动触发。

每次创建新对象时,如何获取要保存的“标签”值?

我正在使用 elasticsearch_dsl

搜索.py

模型.py

0 投票
1 回答
2326 浏览

python - 在 Elasticsearch Python DSL 中使用带状疱疹和模糊性?

你如何在Python DSL中调用带状疱疹?

这是一个简单的示例,它在“name”字段中搜索一个短语,在“surname”字段中搜索另一个短语。

1) 可以使用带状疱疹吗?如何?我已经尝试了很多东西,但在它的文档中找不到任何东西。

这将适用于普通的 Elasticsearch 查询,但显然在 Python DSL 中以不同的方式调用......

2)我如何将模糊参数传递给我的比赛?似乎也找不到任何东西。理想情况下,我可以做这样的事情:

0 投票
1 回答
98 浏览

python - 在 Python 的 FacetedSearch 中暂时禁用构面

FacetedSearch使用 Pythons Elasticsearch DSL 库创建了自己的自定义类,以在def search(self). 现在我想重用我的类来做一些统计聚合。为了保持干燥,我想重用这个类,出于性能原因,我想在不需要时暂时禁用构面计算,同时保留所有过滤。所以问题是如何在FacetedSearch搜索中暂时省略构面?

0 投票
0 回答
62 浏览

ruby-on-rails - 使用 geo_distance 过滤器的 Elasticsearch 嵌套布尔查询

我必须查询没有 Elasticsearch 可以从巴黎获取所有橱柜(使用区),但也可以在 20 公里半径范围内获取巴黎周围的橱柜

这是我的查询:

这里的问题在于第二个布尔查询

因为它不尊重geo_distance filter在巴黎周围仅20公里的展示柜。

如果您知道如何完成,我将不胜感激。

最好的问候,博扬

0 投票
2 回答
134 浏览

elasticsearch - 在 Elasticsearch 的同一字段上进行全文搜索以及术语搜索

我来自 MySql 背景。所以我对弹性搜索不太了解,它正在工作。

这是我的要求

在所有列上都会有一个带有排序选项的结果记录表。将有过滤器选项,用户可以从中选择多个列的多个值(例如,City 应该来自 City1、City2、City3,Category 应该来自 Cat2、Cat22、Cat6)。还将有搜索栏,用户将在其中输入一些文本,全文搜索将应用于某些字段(即城市、区域等)。

在此处输入图像描述

该图像将提供更好的理解。

我面临的问题是全文搜索。我尝试了一些映射,但每次我不得不在全文搜索或术语搜索上妥协。所以我认为没有任何方法可以将两种搜索应用于同一领域。但正如我所说,我对弹性搜索知之甚少。因此,如果有人有解决方案,将不胜感激。

这是我目前应用的,它使排序和术语搜索启用,但全文搜索不起作用。

0 投票
1 回答
580 浏览

python - 使用 elasticsearch-dsl-py 对子字段(包含在另一个字段中的字段)创建查询?

类似于我想在子字段上创建查询的问题 (不是嵌套类型)

如果数据是格式

正如aaronfay 在回答中提到的那样, 我尝试使用

它按预期工作。

但是对于名为的字段mount_point,查询返回空响应。

即使我有数据mount_point = '/'。为什么?

0 投票
1 回答
789 浏览

django - 按用户的弹性搜索结果过滤器

我正在使用elasticsearch_dsl哪个效果很好。

但是,我希望根据发送的用户令牌过滤结果。

我尝试使用 rest_frameworks 的过滤器,但没有成功。

实现这一目标的正确方法是什么?

访问结果的 URL

模型.py

搜索.py