elasticsearch - 通过 Elasticsearch 中的索引位置获取文档
问题描述
我正在使用 Elasticsearch,但出现查询错误:
elasticsearch.exceptions.TransportError: TransportError(500, 'search_phase_execution_exception', 'script score query returned an invalid score: NaN for doc: 32894')
似乎我的指标正在返回文档 32894 ( NaN for doc: 32894
) 的 NaN。自然,下一步是查看该文档,看看它是否有任何问题。
问题是我使用自己的 ID 上传文件,所以“32894”对我来说毫无意义。
像这样的查询
curl -X GET "localhost:9200/my_index/_doc/one_of_my_ids?pretty&pretty"
工作正常,但如果我尝试使用错误消息中的文档编号,则会失败。
我预计这将是微不足道的,但一些谷歌未能提供帮助。
我怎样才能找到这个文件?还是不推荐使用我自己的 ID 以及此问题的不可修复来源?
编辑:根据要求,这是失败的查询。请注意,显然解决这个问题是我的最终目标,但不是这个问题的具体点。在任何一种情况下都可以得到帮助。
我在 Python 中使用 elasticsearch 库。
self.es.search(index=my_index, body=query_body, size=number_results)
和
query_body = {
"query": {
"script_score": {
"query": {"match_all": {}},
"script": {
"source": "cosineSimilaritySparse(params.queryVector, doc['embedding']) + 10.0",
"params": {"queryVector": query_vector}
}
}
}
}
解决方案
推荐阅读
- python - 如何对唯一列表使用列表理解?
- nginx - Linkerd 使用 Nginx 入口控制器拆分流量
- android - YYYY 日期格式在一台设备上返回 2021,在另一台设备上返回 2020
- php - 为什么最后一个 h2 标题不显示内容?
- apache-spark - 如何在 PySpark 中使用 StandardScaler 标准化测试数据集?
- c++ - 在 OpenCV C++ 上录制窗口的视频
- android - 使用 ADB 获取安卓游戏的 FPS
- node.js - 分段错误(核心转储)错误 139(Webpack 5.11.1)
- http-live-streaming - HLS FLAC 音频流
- c - 如何在c中添加布尔值?