Lucene查询没有特定字段的文档

时间:2012-08-02 17:32:33

标签: lucene

我在android中使用Lucene来搜索我的内容。我有两种类型的文档,另一种有trashed字段,可以是truefalse。另一种类型的文档没有该字段。我想返回所有包含trashed:false或没有trashed字段的文档。

我已经尝试将-trashed:true添加到我的查询中,该查询会返回所有正确的文档,但它会将搜索的偏移混淆在一个不同的单词而不是我正在搜索的单词中。

编辑:

我必须将其添加到我执行的每个搜索查询中。我有一个大约20,000个文档的索引,我真的不想重建它,因为我让我的用户重建我的上一个版本的索引。注意:这是在Android设备上,因此重新索引所有文档需要很长时间和大量电池。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我可以想到以下解决方案。

1)如果可以重建索引。

将trashed:na field-value添加到“trashed”不适用的文档中。

要获取所有带有trashed的文档:false或“trashed”不适用,您可以使用以下内容..

查询:trashed:false OR trashed:na

2)如果你无法重建索引,我不确定......