【问题标题】:Class SolrServer Not UpdatingSolrServer 类未更新
【发布时间】:2012-03-23 15:29:57
【问题描述】:

我将文档发布到 SOLR 服务器,每次提交大约 5000 个文档。在多次提交结束时,我查看 SOLR 管理面板,而不是 280,000 个文档,SOLR 管理面板报告只有 5000 个文档。

看起来每次我调用提交时,文档都会被覆盖。然而,索引的大小正在增长。

这是我所指的 API: http://lucene.apache.org/solr/api/org/apache/solr/client/solrj/SolrServer.html#add%28java.util.Collection%29

代码如下:

    private final SolrServer server; 
    this.server = new CommonsHttpSolrServer(getPropertyManager().getSolrMasterUrl());
    final Collection<UpdateResponse> responses = new ArrayList<UpdateResponse>(4);
    responses.add( server.add(solrDocuments) );
    responses.add( server.optimize() );
    responses.add( server.commit() );

每当提交另外 5000 个文档时,我看到 SOLR 中的索引以 KB 为单位增加,索引就会增长。但是,SOLR 管理面板报告只有 5,000 个文档,因此没有任何意义。

numDocs: 5164

最大文档:5164

版本:1332445599423

段数:1

当前:真实

hasDeletions: false

目录:org.apache.lucene.store.SimpleFSDirectory:org.apache.lucene.store.SimpleFSDirectory@ Z:\jboss-soa-p-5\jboss-as\server\experimental\solr\data\index lockFactory =org.apache.lucene.store.NativeFSLockFactory@8d921a

上次修改时间:2012-03-23T13:38:53.539Z

【问题讨论】:

    标签: solr


    【解决方案1】:

    检查以确保您每次发送的 5000 个文档都是唯一的。如果您每次发送相同的文档集,Solr 足够聪明,只需用新文档替换旧文档(如果其他字段不同),否则它将忽略添加文档的请求,因为它已经有匹配副本。

    这是根据您的 schema.xml 文件中的 &lt;uniqueKey&gt; 设置完成的。因此,如果您的文档有一个指定为 uniqueKey 的 id 字段,并且您将它们编号为 1 - 5000,并且您继续将相同的文档集发送到 Solr,它将继续忽略添加集合的请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2019-06-16
      相关资源
      最近更新 更多