我正在使用 SOLR 6.0.0,我使用数据导入处理程序来处理从 MySQL 到 SOLR 的索引。
我的 db-data-config.xml 文件中有以下查询
<entity name="user" query="SELECT ID, A, B, C FROM `USER` U WHERE U.ID = '${dataimporter.request.id}' OR '' = '${dataimporter.request.id}'">
<field column="A" name="A" ....
.......
</entity>
基本上,如果我传递 id,它将仅索引该 ID,否则它将索引整个表。
现在的问题是,
我有一个频繁的插入更新。
在第一次插入后,我向单个 id/doc/row 的索引发送请求,就在几毫秒后,记录被更新,所以我再次发送请求以索引相同的 id。现在看来 SOLR 跳过了第二个请求,因为我可以看到两个请求都已发送,但 SOLR 中不存在更新的数据。
这也发生在非唯一的项目上(不同的 id)。我同时请求两个或三个数据导入,solr 跳过/忽略第二个请求。
我用 http 方法请求它,发送以下查询,
http://localhost:8983/solr/user/dataimport?command=full-import&verbose=false&clean=false&commit=true&optimize=false&core=user&id=1