使用cloudsolrclient中的功能无法删除记录< autocommit>

yzuktlbb  于 2022-11-05  发布在  Solr
关注(0)|答案(1)|浏览(154)

我发现太阳能功能的行为很奇怪。SolrConfig.xml配置在我的本地示例和舞台示例中是相同的。

<autoCommit>
      <maxTime>${solr.autoCommit.maxTime:5000}</maxTime>
      <openSearcher>false</openSearcher>
</autoCommit>

<autoSoftCommit>
      <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
 </autoSoftCommit>

在我的本地设置中,我使用下面的代码

String urlString = "http://localhost:8983/solr/usersession"; 
 SolrClient Solr = new HttpSolrClient.Builder(urlString).build(); 
List<SolrInputDocument> doclist = new ArrayList<>();

          for(int i=0;i<100;i++){
              SolrInputDocument doc = new SolrInputDocument(); 
          doc.addField("id", "test"+i); 
          doc.addField("cecid", "test"+i); 
          doc.addField("name","34"+i); 
          doc.addField("time_to_live_s", "+30000SECONDS"); 
          doclist.add(doc);

          }

          Solr.add(doclist);

自动提交行为按预期工作。5秒后,我在Solr管理UI中看到5秒后的记录。
但在stage中,我们正在使用CloudSolrclient和zookeeper设置,但5秒后在solr管理UI中看不到记录。我不知道为什么自动提交功能在stage服务器中不起作用。任何人都可以让我知道在相同的配置设置下出现这种不一致行为的原因是什么。

yptwkmov

yptwkmov1#

我最好的猜测是${solr.autoSoftCommit.maxTime}变量没有设置,-1表示没有autoSoftCommit。
尝试直接在solrconfig.xml中设置字段,然后重新构建索引。

<!-- Example Config -->

<autoSoftCommit>
    <maxTime>1000</maxTime>
</autoSoftCommit>

由于Solr在启动时写入文档,您只需重新启动Solr服务器来快速检查是否是${solr.autoSoftCommit.maxTime}问题。重新启动后,您的文档应该可以用于搜索。

相关问题