如何使用solrj将一个文档添加到solr索引?

时间:2015-04-08 17:52:43

标签: java solr solrj

我可以使用以下代码重新索引整个solr核心:

 public void indexSolr() throws SolrServerException, IOException {
    HttpSolrServer solr = new HttpSolrServer(solrIndexPath);
    logger.info("Indexing fcv solr at " + solrIndexPath);

    // reindex to pickup new articles
    ModifiableSolrParams params = new ModifiableSolrParams();
    params.set("qt", "/" + solrDataImportPath);
    params.set("command", "full-import");
    params.set("clean", "true");
    params.set("commit", "true");
    solr.query(params);
}

如何只将一个文档插入索引而不必索引整个文档?

2 个答案:

答案 0 :(得分:4)

你在找这样的东西吗?

public void insertOneDoc() throws SolrServerException, IOException {
  HttpSolrServer solr = new HttpSolrServer(solrIndexPath);
  SolrInputDocument doc = new SolrInputDocument();
  doc.addField("fieldName", "fieldValue");
  solr.add(doc);
  solr.commit();
}

因为它会为您的索引添加一个HttpSolrServer引用的文档。

答案 1 :(得分:0)

嗯......我不确定DIH是否可以做到这一点。我的意思是,取决于你的意思"整个事情" (因为索引中的更改,即使是单个文档,也需要重建索引),您可以用这种方式索引一个文档

1)delta导入 如果该单个记录是已更改的某个记录,并且您可以使用数据库列(例如时间戳)识别该更改,那么您将使用DIH的delta导入功能

2)改变&重装 - 更改dih-config修改查询以选择该单个记录

  • 重新加载DIH配置

  • 重新发出完整导入

相关问题