如何使用Nodejs将文件发布到Apache Solr?

时间:2016-08-10 16:25:58

标签: node.js apache solr

我在这里询问最佳做法,因为我到处寻找但却无法找到。我正在使用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上做到这一点的最佳方法,但似乎我找不到任何可以参考的内容。有人可以给我一些提示吗?如果我不是很清楚,我很抱歉,如果你需要我,我会解释更多。

0 个答案:

没有答案