我知道lucene会创建一个索引并存储所有数据。任何人都可以告诉我数据是如何存储在平面文件中的吗?或者他们使用什么样的算法在后端存储数据,以便他们可以快速检索它?
答案 0 :(得分:8)
不知道这是不是你要的。但更一般的答案是他们使用/实现Inverted Index。关于Lucene如何存储它的细节你可以在file formats找到(正如米兰所说)。
但一般的想法是,他们存储一个倒置索引数据结构和其他辅助数据结构,以帮助快速回答查询。例如,它为每个文档和每个术语的IDF(inverse document frequency)存储规范向量。 Lucene还存储实际的文档字段,但这不在倒置索引中。
答案 1 :(得分:5)
您可以找到file formats部分中解释的所有内容。
答案 2 :(得分:4)
您可以阅读本书http://nlp.stanford.edu/IR-book/以了解信息检索系统中使用的数据结构,算法和模型