在Elasticsearch中按索引位置获取文档

时间:2019-08-27 10:08:39

标签: 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"

工作正常,但是如果我尝试使用错误消息中的文档编号,则此操作将失败。

我希望这是微不足道的,但是有些Google未能提供帮助。

然后如何找到该文档?还是不建议使用我自己的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}
            }
        }
    }
}

0 个答案:

没有答案