gpt4 book ai didi

javascript - ElasticSearch.js 搜索查询返回 0 个匹配项,但生成的 URL 包含正确的匹配项

转载 作者:行者123 更新时间:2023-12-02 22:37:34 25 4
gpt4 key购买 nike

我目前正在用 JavaScript 编写一个网站,该网站根据 ElasticSearch 中的数据绘制各个字段的图表,但我遇到了一个奇怪的问题。 (出于各种原因我不想使用 Kibana。)

我在 JavaScript 中的搜索查询一直在正确返回命中,直到不久前。我没有对其进行任何更改,但查询突然没有返回任何匹配项。但是,当我按照调用生成的 URL 进行操作时,会出现我想要的匹配项。

这里是查询:

        client.search({
index: "chamber-data",
type: "Soak1",
size: 1000,
scroll: "30s",
sort: ["_doc"],
_source: ["@timestamp", "datetime", [...this.props.fields]],
body: {
query: {
bool: {
filter: {
range: {
"datetime": {
lte: "now",
gte: "now-12H"
}
}
}
}
}
}
}).then(this.process_promise, this.handle_error);

这是脚本在我网站的控制台中提供的内容:

  {
"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAA1NrFlZYTEJLYW12UUFTaWowMllJZVcyalEAAAAAAANTbRZWWExCS2FtdlFBU2lqMDJZSWVXMmpRAAAAAAADU28WVlhMQkthbXZRQVNpajAyWUllVzJqUQAAAAAAA1NsFlZYTEJLYW12UUFTaWowMllJZVcyalEAAAAAAANTbhZWWExCS2FtdlFBU2lqMDJZSWVXMmpR",
"took": 0,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}

这是 URL 给我的内容:

{"_scroll_id":"DnF1ZXJ5VGhlbkZldGNoBQAAAAAAA1N2FlZYTEJLYW12UUFTaWowMllJZVcyalEAAAAAAANTdBZWWExCS2FtdlFBU2lqMDJZSWVXMmpRAAAAAAADU3cWVlhMQkthbXZRQVNpajAyWUllVzJqUQAAAAAAA1NzFlZYTEJLYW12UUFTaWowMllJZVcyalEAAAAAAANTdRZWWExCS2FtdlFBU2lqMDJZSWVXMmpR",
"took":9,
"timed_out":false,
"_shards":{"total":5,"successful":5,"failed":0},
"hits":
{"total":107565,"max_score":null,"hits":[...]}
}

我完全不知道发生了什么,也不知道如何解决。有人有想法吗?

最佳答案

在我的例子中,我有一个测试脚本,它使用 bulk api 加载一堆记录,然后查询 ES。外部/手动客户端 (Postman) 一切正常,但 js 客户端没有命中,插入后立即在脚本中调用。

问题在于索引needs to be refreshed使新插入的文档出现在搜索中(IndexUpdateDelete API 也是如此)。

我解决了批量调用后强制刷新的问题。

client.bulk({
refresh: true, // This is the important part
body: [
// Bunch of documents/actions
]
}, function (err, resp) {
// ...
})

关于javascript - ElasticSearch.js 搜索查询返回 0 个匹配项,但生成的 URL 包含正确的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45063043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com