我在这里询问最佳做法,因为我到处寻找但却无法找到。我正在使用NodeJS创建基于Solr的应用程序,特别是solr-client来连接到Solr。我的应用程序可以接收多种格式的文件(来自json,xml,csv等,这在Solr中是可能的),我正在使用NodeJS。
在终端上我可以使用像bin/solr post -c core-name path_to_file
这样的命令来发布Solr可读的任何格式,但是我在Javascript中遇到了一些麻烦。以下代码不起作用。
client.add(thisData, function(err, obj){
if(err){
console.log("Failed add file");
console.log(err.stack);
// throw err;
}else{
// console.log(obj);
console.log("Successful");
}
});
client.commit(function(err, res){
if(err){
console.log(err);
}
if(res){
console.log(res);
}
});
注意,thisData是一个变量,包含我使用fileSystem获取的文件内容。我不明白为什么我可以从终端发布任何类型的文件格式,但是不能通过编程来做同样的事情。 Solr不允许这样做吗?
有些朋友建议我将所有文件内容(从xls,csv,json等)转换为json,然后将json发送给Solr。它有效,但我意识到它的作品非常多。我必须使用很多nodejs包来转换这些文件,但我发现它们并不高效。我一直在寻找在github上做到这一点的最佳方法,但似乎我找不到任何可以参考的内容。有人可以给我一些提示吗?如果我不是很清楚,我很抱歉,如果你需要我,我会解释更多。