Lucene不是空查询?
我们如何构造一个查询来搜索不为空的特定字段?
How can we construct a query to search for particular field to be not null?
field_name:*
不起作用.我试过 field_name:[a* to z*]
这适用于英语,但不涵盖所有语言.
field_name:*
is not working.
I tried field_name:[a* to z*]
this works fine for English, but does not cover all languages.
还有其他建议吗?
推荐答案
目前 Lucene 不支持.请参阅 this 进行讨论.
This is currently not supported by Lucene. See this for a discussion.
另一种选择可能是将一些预定义的字符串(如 nullnullnullnull
)存储为字段值(如果它为空).然后您可以使用否定过滤器来删除这些记录.(我不太喜欢这个,但想不出更好的选择)
An alternative option may be to store some pre-defined string (like nullnullnullnull
) as the field value if it is null. Then you can use a negative filter to remove these records. (I don't like this much, but can't think of a better option)
相关文章