【发布时间】:2012-09-05 16:08:45
【问题描述】:
关于我之前的问题 (Lucene downgrade 3.6.0 to 3.5.0),我想知道如何过滤掉那些具有或不具有特定字段(无论该字段的内容)的文档(在 Lucene 3.5.0 中)。在 Lucene 3.6.0 中有一个 FieldValueFilter 类可用于执行此操作。 here 提出了同样的问题,但我不确定如何使用 API 完成同样的事情。
【问题讨论】:
关于我之前的问题 (Lucene downgrade 3.6.0 to 3.5.0),我想知道如何过滤掉那些具有或不具有特定字段(无论该字段的内容)的文档(在 Lucene 3.5.0 中)。在 Lucene 3.6.0 中有一个 FieldValueFilter 类可用于执行此操作。 here 提出了同样的问题,但我不确定如何使用 API 完成同样的事情。
【问题讨论】:
最后我自己找到了解决方案。我用TermRangeFilter。我使用的字段包含 ID(存储为字符串),因此我使用了以下过滤器:
Filter filter = new TermRangeFilter("field", "0", null, true, false);
同样的事情也可以用这个短代码来实现:
Filter filter = TermRangeFilter.More("filter", "0");
此解决方案似乎有效。我希望这会对某人有所帮助!
【讨论】: