问题标签 [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.
python - 如果注册的查询包含术语,则 ElasticSearch 的 Percolate API 匹配文档始终不返回匹配项
我尝试使用Percolator
by Elasticsearch
,但我遇到了一个小问题。
假设我们的文档如下所示:
我们注册的查询是这样的:
我得到:
而且我不知道我做错了什么,因为如果我terms
从注册查询中删除并匹配occupation
它,它会按预期工作,我会得到一个匹配项。
有什么提示吗?
更新 1
好的,我认为@Slam 的解决方案是正确的方向,但我仍然有一些问题:
我更新了标签映射,现在看起来像这样:
要渗透的新文件:
当我尝试将上面的文档与 匹配时tags.raw
,仍然找不到匹配项。我分析了字段tags.raw
,但看起来它仍然会创建令牌computer
,games
并且running
.
django - haystack.exceptions.MissingDependency:“elasticsearch”后端需要安装“elasticsearch”
我是 Django-haystack 的新手。遵循 Django-Haystack 文档时出现错误。
命令执行顺序,我按照:
我使用命令提示符启动了 elasticsearch 服务器(1.7.3),并且能够访问http://127.0.0.1:9200/
python manage.py rebuild_index
输出:
警告:这将无法挽回地从连接“默认”中的搜索索引中删除所有内容。在此之后您的选择是从备份中恢复或通过rebuild_index
命令重建。您确定要继续吗?[是/否] 是
错误:
packages\haystack\backends\elasticsearch_backend.py",第 28 行,在 raise MissingDependency("'elasticsearch' 后端需要安装'elasticsearch'。请参考文档。")
haystack.exceptions.MissingDependency:“elasticsearch”后端需要安装“elasticsearch”。请参阅文档。
当前平台(Windows): 1.Django 1.8 2.elasticsearch:1.9.0(通过pip安装)3.pyelasticsearch:0.0.5(通过pip安装)4.elasticseach:1.7.3(下载以启动elasticsearch服务器)
我已经尝试将“elasticsearch”也添加到我安装的应用程序中,但存在同样的错误。
似乎存在版本兼容性问题(可能在 pyelasticseach 中),因为我发现其他一些人也面临同样的问题。任何帮助,将不胜感激。谢谢。
elasticsearch - elasticsearch-py 驱动程序在聚合时未正确过滤数据
我在弹性搜索 python 驱动程序中遇到了一个奇怪的问题,想知道是否有人可以向我解释!下面的代码可以直接使用,cURL
但不能使用python-requests
or elasticsearch-py
,奇怪的是,当我切换到pyelasticsearch
库时它可以工作!详情如下:
我有一个名为的类型MY_TYPE
,它有一个嵌套对象MY_NESTED_FIELD
和一个子文档MY_CHILD_TYPE
。我正在尝试根据应用于MY_TYPE
andMY_CHILD_TYPE
类型的过滤器对嵌套属性进行术语方面聚合。查询看起来像
cURL
当我直接(使用或插件)对 elasticsearch 运行此查询时,head
它会过滤父级并根据正确的结果返回聚合。但是,当我从 python 脚本中尝试它时,它运行成功但返回错误数据(它从所有文档返回构面而不应用过滤器)
我努力了:
- 卷曲:工作!
- ElasticSearch 的 HEAD 插件:有效!
- python-requests 2.8.1 版:没用!
- elasticsearch-py api 版本 1.4.0 和 2.1.0:没用!
- pyelasticsearch 1.4 版:有效!
elasticsearch-py 的代码片段是:
使用 python-requests 时,代码为:
我的弹性搜索版本是:
所以我的问题是:
- 这是编写此查询的最佳方式吗?
- 有没有解释为什么 elasticsearch-py 行为异常?
- 在 elasticsearch-py 上是否有解决此问题的方法?
python - 找不到记录器“elasticsearch.trace”的处理程序
更新:原来,这不是 cron 的功能。从命令行运行脚本时,如果它实际上有记录要处理并与 ElasticSearch 通信,我会得到相同的行为。
我有一个运行 python 脚本的 cron 作业,该脚本用于pyelasticsearch
索引 ElasticSearch 实例中的一些文档。该脚本在命令行中运行良好,但通过 cron 运行时,会导致以下错误:
找不到记录器“elasticsearch.trace”的处理程序
显然,只有在 cron 下运行时才会出现一些日志记录配置问题,但我不清楚它是什么。有什么见解吗?
python - 基于弹性搜索中的术语或布尔查询匹配突出显示
我有两个疑问。
有两个问题?
为什么带有 should 查询匹配的文档被突出显示,而只有 must 术语匹配的文档没有被突出显示。
有什么方法可以提及特定于上述术语查询的突出显示条件吗?
这意味着突出显示条件{ 'terms': 'metadata.loc':['ten','twenty']}
和一个单独的高亮条件{ 'terms': 'metadata.doc':['prince','queen']}
elasticsearch - 如何在elasticsearch中对多值字段进行桶聚合
假设我的弹性搜索索引中的每个文档都是一篇博客文章,它只包含两个字段,标题和标签。标题字段只是一个字符串,而标签是一个多值字段。
如果我有三个这样的文件:
我想按所有可能标签的唯一值进行存储,但是如何获得如下结果,其中包含存储桶中的三个项目。或者有没有有效的替代方案?
如果有人可以在 elasticsearch python API 中提供答案,那就太好了。
elasticsearch - 在elasticsearch中按索引搜索数组值
我有两个文档存储在elasticsearch
数据库中
一个是
另一个是
现在我的问题是search
记录哪些python
在索引上0
和foo
在索引上1
如何实现这一点?我已经阅读了有关bool
查询的信息,elasticsearch
但不知道如何使用它,请帮助!
elasticsearch - 在弹性搜索中更改集群名称
如何在弹性搜索配置中重命名当前集群?
如果可能的话,我想重命名集群而不让它崩溃。
python - Python elasticsearch dsl搜索多字段和订单结果
我如何在弹性搜索 dsl python 模块中搜索多字段,例如title
和body
字段并按created_at
字段 DESC 排序。
我有这个仅在title
字段上搜索的示例:
我怎样才能做到这一点?
elasticsearch - Elasticsearch 映射空字符串
在 Elasticsearch 中,我的一个字段是一个日期,我使用与我的日期匹配的自定义日期格式定义映射。
但是,在某些情况下,我的日期字段的值只是一个空字符串"LastUpdateDate": ""
并导致异常。如何处理日期字段映射中的空字符串?