|
|
1
13
我认为您使用的是Lucene 3.6或之前的版本,否则
如果您只能使用查询解析器找到文档,那么只需运行一个普通查询,然后遍历返回的文档,并按docnum删除它们,如下所示:
或者更好(更简单,使用不失效、不推荐使用的功能),只需使用
|
|
|
2
1
添加以供像我这样的人将来参考,其中删除文档位于indexWriter上,您可以使用
而不是使用deleteDocuments(query)方法;如果你只需要匹配一个字段,那么麻烦就少了。 请注意,如果传递了多个术语,则此方法将术语视为OR条件 。因此,它将匹配任何术语,并将删除所有记录。下面的代码将匹配存储的文档中的状态=Tx,并将删除匹配的记录。
对于使用AND条件组合不同字段,我们可以使用以下代码:
|
|
|
3
0
正如@dillippattnaik所指出的,多个术语导致 或 。我已经更新了他的代码 以及 使用BooleanQuery:
|
|
|
Max · 用两列中的特定值对识别R中的数据帧行 1 年前 |
|
|
Dasi · Pandas.loc返回序列或浮点数不一致 1 年前 |
|
climsaver · 首次连续查找两个相同值的索引 1 年前 |
|
|
babipsylon · 在C中创建div_t类型结构元素的数组++ 2 年前 |
|
|
Martin AJ · 如何在庞大的数据集上快速执行COUNT(*)? 2 年前 |