【发布时间】:2014-10-22 20:54:49
【问题描述】:
我正在使用https://github.com/firebase/flashlight 来索引搜索数据
但是,今天早上我删除了整个firebase索引,所以它应该是空的(这之前已经工作过,但似乎当nodejs app.js在某些情况下崩溃,导致缓存“卡住”),但我仍然以某种方式从我的 nodejs 应用程序中看到旧的搜索结果......
我试过了:
http://localhost:9200/_cache/clear
和
http://localhost:9200/_flush
http://localhost:9200/firebase/_flush
他们都说成功了,但我还是得到了old results,似乎无处可去。
我还可以在控制台中看到它每 60 秒刷新一次,并且,删除整个 firebase 之前没有问题...
我什至在控制台中看到了一条消息housekeeping: found 60 orphans (removing them now),所以现在应该刷新它...
我尝试重新启动 elasticsearch 以及整个 Linux/Debian 服务器...
在 config.js 我有两个索引:
exports.paths = [
{
path: "tags",
index: "firebase",
type: "tag",
filter: function(data) { return data.name !== 'system'; }
},
{
path: "tracks",
index: "firebase",
type: "track",
filter: function(data) { return data.name !== 'system'; }
}
];
奇怪的是,我在使用“track”商店而不是使用“tag”商店时没有任何问题......
我在这里错过了什么?
// 更新!
所以,我刚刚在 nodejs 脚本运行时删除了 firebase tracks 索引,而脚本 crashed... 同样的问题,不同的索引。那么crashing script must cause it...那么,我该如何clear this stuck cache?
【问题讨论】:
-
如果你重启了 flashlight 的工作进程,它会在重启时从数据中重新索引所有这些值,从而将它们放回 ES。
-
好吧,它没有,我什至拼命地重新启动了整个服务器。它显示了在火力基地中根本不存在的结果。就好像缓存被特定的“标签”索引卡住了......
-
所以,我刚刚在 nodejs 脚本运行时删除了 firebase
tracks索引并且脚本崩溃了......你猜怎么着?同样的问题,不同的指标。所以崩溃的脚本一定会导致它...... -
当你说你在删除索引时,你的意思是你在ElasticSearch中删除它们吗?当你有一个脚本试图将数据放入索引时,你为什么要这样做?
-
"firebase
tracksindex",所以只删除Firebase中的整棵树
标签: node.js caching indexing elasticsearch firebase