java - 我需要用于在 Lucene 中创建索引的原始文件吗?

标签 java dictionary lucene

首先,正如我在个人资料中解释的那样,我不是英语母语,所以如果我犯了一些语法错误,希望您能原谅我。

我正在尝试使用 Java 中的 Apache Lucene API 进行开发。我能够编写一些索引和搜索方法,但我仍然对其幕后的工作原理感到困惑。

据我所知,Lucene并不关心数据的来源。它只是获取数据并为其建立索引。让我举一个简单的例子来问一下:

我想从基于 .txt 的词典中索引单词。一旦 Lucene 建立了索引,我还需要源 .txt 字典吗?索引到底是如何工作的?

索引是否包含在没有原始来源的情况下执行搜索所需的内容?或者索引是否仅包含单词在原始源 .txt 字典文件中存储位置的指示?我有点困惑。

最佳答案

一旦您对所有内容建立了索引,Lucene 就不会再引用或进一步需要任何源文档。它操作所需的所有内容都保存在它的索引目录中。许多人使用 Lucene 来索引文件、其他数据库记录、其他在线资源。无论您的来源是什么,您总是必须自己引入数据(或使用某些第三方工具),并构建 Document 供 lucene 进行索引,并且文档中没有任何内容说明其来源从。因此,lucene 不仅不需要引用原始数据源,而且如果您想要的话,它也找不到它们。

许多人的实现确实依赖于原始来源的存在。人们设置 Lucene 来索引所有内容,但仅存储文件名、数据库 ID 或指向原始源的类似指针,这并不罕见。这使他们能够通过 lucene 执行有效的全文搜索,同时将完整内容存储到其他系统。

关于java - 我需要用于在 Lucene 中创建索引的原始文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27156328/

相关文章:

java - ResourceConfig 实例不包含 REST API 中的任何根资源类异常

java - JNI - 连接考勤终端 VF300

c - 在字典中查找单词 C 编程

Solr TF 与所有条款匹配

java - Lucene从2.2升级到2.9到3.1的问题

java - 我想在 catch block 运行时打印无效输入,但它没有发生。请帮助我

java - Java 的 iText 库中的对齐

c# - 从 app.config 配置部分将键值对读入字典

Android如何计算最佳缩放级别?

lucene - Lucene 对文本进行分词的过程