首先,正如我在个人资料中所解释的那样,我不是英国人,所以我希望如果我犯了一些语法错误,你可以原谅我。
我正在尝试使用Java中的Apache Lucene API进行开发。我能够编写一些索引和搜索方法,但我仍然对它在幕后的工作方式感到困惑。
据我所知,Lucene并不关心数据的来源。它只需要数据并对其进行索引。让我问一个简单的例子:
我想从基于.txt的词典中索引单词。一旦Lucene制作了索引,我是否还需要源.txt字典?确切地说,索引是如何工作的?
索引是否包含执行搜索而不原始来源的必要内容?或者索引只包含在原始源.txt字典文件中存储单词的方向?我有点困惑。
答案 0 :(得分:0)
一旦您将所有内容编入索引,Lucene就不会回复或进一步需要任何源文档。它需要操作的所有东西都保存在它的索引目录中。许多人使用Lucene索引文件,其他数据库记录,其他人在线资源。无论你的来源是什么,你总是需要自己引入数据(或使用某些第三方工具),并构建Document
以便lucene进行索引,而文档中没有任何内容可以说明它来自何处。因此,lucene不仅需要引用回原始数据源,如果你想要它,它就找不到它们。
许多人的实现确实依赖于存在原始源。人们设置Lucene索引所有内容并不是很少见,但只有 store 文件名或数据库ID,或者指向原始源的类似指针。这允许他们通过lucene执行有效的全文搜索,同时处理将全部内容存储到其他系统。