Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过it从索引中删除文档';呼啸中的小径_Python_Whoosh - Fatal编程技术网

Python 如何通过it从索引中删除文档';呼啸中的小径

Python 如何通过it从索引中删除文档';呼啸中的小径,python,whoosh,Python,Whoosh,首先,我将文档添加到索引中,如下所示: writer.add_document(title=doc_path.split(os.sep)[-1], path=doc_path, content=text, textdata=text) 然后我只需要从索引中按路径完全删除其中一个。文件表明,很少有低级别的方法可以做到这一点: 按术语删除术语(字段名、术语文本) 删除给定(索引)字段包含 给定条件。这对于ID或关键字字段非常有用 按查询删除(查询) 删除与给定查询匹配的所有文档 但我找不到适合我的

首先,我将文档添加到索引中,如下所示:

writer.add_document(title=doc_path.split(os.sep)[-1], path=doc_path, content=text, textdata=text)
然后我只需要从索引中按路径完全删除其中一个。文件表明,很少有低级别的方法可以做到这一点:

按术语删除术语(字段名、术语文本)

删除给定(索引)字段包含 给定条件。这对于ID或关键字字段非常有用

按查询删除(查询)

删除与给定查询匹配的所有文档

但我找不到适合我的、非常方便的方法,我可以指定文档的路径并将其删除。有一些低级的方法,我可以指定内部文档编号,我应该以某种方式得到它。 谁能给我一些建议,怎样才能更好地完成这项任务

ix = open_dir('/my_index_dir_path/..')
writer = ix.writer()
writer.delete_by_term('path', doc_path)
writer.commit()
按\项删除\项

方法正是我所需要的。请注意,第一个参数是一个文本字符串“path”,它们指向实际路径。我的错误是放了一个实际路径而不是属性名

按\项删除\项


方法正是我所需要的。请注意,第一个参数是一个文本字符串“path”,它们指向实际路径。我的错误是使用了实际路径而不是属性名。

最好在答案中添加一些解释。请编辑并改进您的答案。最好在答案中添加一些解释。请编辑并改进您的答案。