同时或因此在Couchdb中插入和索引
我是couchdb的新手,试图在保存一些文档的同时为它们编制索引 目前我所做的工作如下:同时或因此在Couchdb中插入和索引,couchdb,Couchdb,我是couchdb的新手,试图在保存一些文档的同时为它们编制索引 目前我所做的工作如下: app.post("/api/result-store/v1/results/:searchID", (req, res) => { const dbName = "test_" + req.params.searchID; database.checkAndCreateDatabase(dbName).then( db => { const docs = req.b
app.post("/api/result-store/v1/results/:searchID", (req, res) => {
const dbName = "test_" + req.params.searchID;
database.checkAndCreateDatabase(dbName).then(
db => {
const docs = req.body.objects;
db.bulk({ docs }).then(
body => {
res.send({
writes: body.reduce((total, currentValue) => {
return total + (currentValue.ok ? 1 : 0);
}, 0)
});
},
err => {
res.send(err);
}
);
},
err => {
console.log(err);
}
);
});
所以我在上面所做的只是保存,而不是索引。现在,如果我像下面这样查询数据库:
{{url}}/api/result-store/v1/results/jmeter_test_db_size_90_k?q=*:*&limit=200&counts=["qid_name", "datasource"]
然后索引将开始。但这太晚了,因为索引需要时间,客户需要等待索引完成才能得到结果。
我正在考虑在插入文档后立即开始为数据编制索引,以便同时保存和编制索引。有可能吗?任何洞察都是值得赞赏的因为您使用的是
nano
,您可以在创建数据库之后通过调用来创建索引(根据中的指定,在数据库字段上创建索引)。看起来您正在使用库或自定义包装来访问CouchDB
。您能提供进一步的相关信息吗?@u请确保我使用nano:const nano=require(“nano”)(http://${params.USERNAME}:${params.PASSWORD}@${params.HOST_NAME}:${params.PORT}
);这使得对db的访问更容易谢谢,我将尝试一下,并让您了解动态启动inxeing的过程,还是我们需要查询db以启动索引?因为通常索引只在第一个查询进入后才开始