0

我在 Solr 版本 4.4.0 中面临一个非常奇怪的行为

当我发送以下 url 请求以索引两个文档时,它工作正常,即将索引消息写入各自的核心。因此,我们可以说提交工作正常。

http://localhost:8080/solr/test2m-enduser/dataimport?command=full-import&clean=false&commit=true&optimize=false

现在,当我为删除所有文档提供完全相同的 url 时,我看到了不同的行为。虽然它反映了从 solr 控制台删除查询的结果(即,所有文档都被删除)。但是索引消息不会提交到磁盘,即,我看不到“数据/索引”文件夹中任何文件的时间戳有任何新变化。

现在,如果我发送以下 url 请求,它会将这个新索引写入“data/index”文件夹,即实际发生了提交

http://localhost:8080/solr/test2m-enduser/update?commit=true

所以我很惊讶“dataimport...commit=true”和“update...commit=true”之间有什么区别。在这两种情况下最终调用的是什么。

由于上述行为,删除消息不会被复制到从站。

我不明白这是软提交还是硬提交的问题。我应该如何着手解决这个问题。任何输入或指针都会有所帮助。

4

1 回答 1

2

如果您使用的是 3.4 之前的 Solr 版本,如果您只是删除文档,则不会自动调用 commit 。从 3.4 起,提交总是根据commiturl 中的值调用。

于 2014-09-03T13:57:33.363 回答