Solrj全进口不工作(Solrj full-import not working)

2019-10-29 04:34发布

我配置我的Glassfish的Solr的服务器,一切运行良好。 问题是,当我试图让我在Java应用程序中使用Solrj重新索引通话。

我使用的是增量导入通过全进口,但它工作得很好Solrj外面,所以我想没有问题

http://wiki.apache.org/solr/DataImportHandlerDeltaQueryViaFullImport

当我打电话

http://localhost:8787/solr-4.2.1/db/dataimport?command=full-import&clean=true

然后重新索引是正确的,我看到我的新成果。 当我使用Solrj它的问题开始

    SolrServer solr = new HttpSolrServer("http://localhost:8787/solr-4.2.1/db");

    ModifiableSolrParams params = new ModifiableSolrParams();

    params.set("qt", "/dataimport");
    params.set("command", "full-import&clean=true");

    QueryResponse response = null;

    try {
        response = solr.query(params);
    } catch (SolrServerException e1) {
        e1.printStackTrace();
    } 
    System.out.println(response);

该resposne似乎确定

{responseHeader={status=0,QTime=0},initArgs={defaults={config=db-data-config.xml}},command=full-import&clean=true,status=idle,importResponse=,statusMessages={Total Requests made to DataSource=4, Total Rows Fetched=5, Total Documents Skipped=0, Full Dump Started=2013-07-09 09:42:34, =Indexing completed. Added/Updated: 5 documents. Deleted 0 documents., Committed=2013-07-09 09:42:35, Total Documents Processed=5, Time taken=0:0:0.390},WARNING=This response format is experimental.  It is likely to change in the future.}

所有的信息有正确的 - 它应该做4个请求数据库,并进行全部5行索引。 但是,当我看着我的索引数据(使用URL或Solrj)

http://localhost:8787/solr-4.2.1/db/search/?q=*:*

我看还有旧索引。 例如,我在数据库中更改一行,称为重新索引使用Solrj,我看到在指数没有变化。 当我打电话URL命令

http://localhost:8787/solr-4.2.1/db/dataimport?command=full-import&clean=true

重新索引正确运行和我(用URL或Solrj)看到Solr的变化值。 我尝试添加solr.commit()在我的代码,但它并没有帮助。 我究竟做错了什么? 为什么我看到使用Solrj没有变化,但使用URL一切都很好?

Answer 1:

一些事情你可以检查 -

  • 命令仅全进口params.set("command", "full-import");
  • 您可以添加clean=true的独立PARAM
  • 此外,检查是否需要通过commit=true作为一个参数去犯了文件。
  • 此外,DIH调用是异步你会得到响应速度快,但是过程可能仍然在后台运行。


文章来源: Solrj full-import not working
标签: solr solrj