2012-08-02 108 views
1

我在android中使用Lucene来搜索我的内容。我有两种类型的文档,一个是trashed字段,即truefalse。其他类型的文档没有该字段。我想返回所有含有​​或没有trashed字段的文档。Lucene查询没有特定字段的文档

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

编辑:

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

感谢您的帮助。

+0

“它弥补搜索的偏移量包围一个不同的单词,而不是我正在寻找的”? – Trejkaz 2014-12-02 03:13:29

回答

0

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

1)如果你可以重建索引。

将已删除的内容:na字段值添加到“已删除”不适用的文档。

为了让所有的文档与丢弃:虚假或“看不上”是不适用的,你可以用以下..

查询:丢弃:虚假或丢弃:NA

2)如果您不能重建该指数,我不知道...

+0

不幸的是重建我的索引是不可能的。 – Ge3ng 2012-08-07 18:27:45

+0

@ Ge3ng Lucene提供了一种“搜索”字段的方法......如果该字段不存在,我认为我们不能检索文档。 – phani 2012-08-08 22:23:36

+0

@ Ge3ng如果可以详细说明,可能会找到解决方法.. - 索引统计信息(大小,术语),您需要多长时间才能按指定的方式查找文档,可能会有更多信息... – phani 2012-08-08 22:25:21

相关问题