首先,我将文档添加到索引中,如下所示:
writer.add_document(title=doc_path.split(os.sep)[-1], path=doc_path, content=text, textdata=text)
然后我只需要通过路径删除索引中的一个即可。文档说很少有底层方法可以做到这一点:
delete_by_term(字段名称,termtext)
删除给定(索引)字段包含以下内容的所有文档: 给定的期限。这对ID或KEYWORD字段最有用。
delete_by_query(查询)
删除与给定查询匹配的所有文档。
但是我找不到适合我的非常方便的方法,我可以在其中指定文档的路径并将其删除。有一些底层方法,我可以指定内部doc_number,我应该以某种方式获取。 谁能给我建议完成任务更好吗?
答案 0 :(得分:0)
ix = open_dir('/my_index_dir_path/..')
writer = ix.writer()
writer.delete_by_term('path', doc_path)
writer.commit()
delete_by_term
方法完全可以满足我的需求。请注意,第一个参数是文本字符串“ path”,它们是实际路径。我的错误是放置实际路径而不是属性名称。