c# - 仅当文档包含具有 lucene.net 中的值的字段时才过滤掉文档
问题描述
在我的索引中,我的文档有过期日期,它们不应该在某个日期之后显示。并非所有文档都有此字段,如果没有此字段,则它们没有过期日期并且可以始终显示。
所以我试图应用范围过滤器来过滤掉具有“display_to”字段的文档,但如果文档中不存在该字段,我希望它在查询中返回
这是到目前为止我得到的过滤代码,但它没有做我想做的事情。
BooleanFilter filter = new BooleanFilter();
DateTime date = DateTime.Now;
filter.Add(new TermFilter(new Lucene.Net.Index.Term("modelId", modelId.ToString("N"))), Lucene.Net.Search.Occur.MUST);
filter.Add(NumericRangeFilter.NewInt64Range("display_to", date.ToFileTimeUtc(), null , true, true), Occur.SHOULD);
解决方案
推荐阅读
- java - 保护从数据库获取数据到缓存(哈希表)
- wordpress - WordPress 媒体库不会加载
- reactjs - 在 Semantic-UI-React Modal 中显示 VisX 图会导致 z-index 出现问题
- c - DBX:无法使条件断点工作
- javascript - Meteor Blaze 助手在事件中设置的反应会话失败
- java - 如何在不丢失 Spring Mongotemplate 项目中的数据的情况下更新 Mongo 中的文档
- python - 我无法从 kivymd 的另一个屏幕获取文本字段的值
- influxdb - InfluxDB 2.0 中是否有存储桶数量限制?
- html - 如何更好地对齐内联段落元素(没有表格)
- java - 为什么没有使用@autowired 和@component 类创建对象?