【发布时间】:2016-03-23 19:14:41
【问题描述】:
简单直接的问题: 是否可以根据创建顺序/日期对搜索结果进行排序?添加日期字段并按其排序是一种选择。 但是,索引已经存在,并且包含大量我想要排序(一些)的文档。
【问题讨论】:
-
AFAIK Lucene 不在索引中存储创建日期。但是文件编号不是连续的吗? (我刚查过,他们aren't necessarily)
-
不知道这个事实。那么我们可以假设默认结果集按 doc id 顺序排列吗?
-
啊,据我了解,这些 id 不是唯一的,特别是在多个索引中使用时。但最有可能确保一致的创建顺序。我要多挖一点。
-
是的,无论想象如何,它都不是完美的。显然,确切的解决方案是为每个文档加上时间戳,但对于“足够接近”的解决方案,可能会出现取决于文档 ID 的某些内容。但是您需要弄清楚在段合并和其他维护任务期间文档 ID 会发生什么。
-
从战壕中:用户没有意识到 Lucene 有多棒。一旦他们看到它,每隔几周就会出现新的要求,我最终为 150 万份文档重新索引了 3 次。也许只是添加索引日期字段并重新索引是处理它的最佳方法 - 在确保他们还没有准备好在你身上弹出其他东西之后。您可以在创建新索引时通过搜索现有索引来屏蔽用户。
标签: lucene lucene.net