Lucene以相同的顺序存储和检索数组

时间:2018-05-07 12:18:01

标签: java lucene

如果我将数组存储在像这样的文档中

mounted() {
    if (localStorage.getItem('reloaded')) {
        // The page was just reloaded. Clear the value from local storage
        // so that it will reload the next time this page is visited.
        localStorage.removeItem('reloaded');
    } else {
        // Set a flag so that we know not to reload the page twice.
        localStorage.setItem('reloaded', '1');
        location.reload();
    }
}

当我阅读文档的字段for (int i=0; i<vars.length; i++ { Field field = new StringField("vars", vars[i], Field.Store.YES); doc.add(field); } 时,我能够按照插入的顺序获取值吗?

例如对于数组vars,是否可以返回['a','b','c']之类的内容?

1 个答案:

答案 0 :(得分:0)

  

例如对于数组['a','b','c'],是否可以返回类似['b','c','a']的内容?

这取决于您的查询或如何从lucene检索数据。 AFAIK Lucene记录的内部索引或多或少是每个添加文档的增量。这不是一个很好的指标,可以找出最先创建的内容,因为在lucene中实际删除了一条记录的更新 - &gt;插入操作。

如果你想获得某种订单,你应该添加一个带时间戳或自组织索引的附加字段(我个人不建议)。

订购和排序是一个相关的事情。您应该在这里查看一个简单示例:https://www.tutorialspoint.com/lucene/lucene_sorting.htm