【发布时间】:2017-04-28 10:30:44
【问题描述】:
如您所知,有不同的技术可以为搜索引擎索引文档。 如倒排索引、分布式动态索引、语义索引、NGram 索引、上下文索引、大数据、多语言索引等。 我现在正在使用 Solr。我想知道 Solr 使用哪些技术来索引文档以及 Solr(或 Lucene)如何使用这些技术?
【问题讨论】:
标签: indexing solr lucene search-engine
如您所知,有不同的技术可以为搜索引擎索引文档。 如倒排索引、分布式动态索引、语义索引、NGram 索引、上下文索引、大数据、多语言索引等。 我现在正在使用 Solr。我想知道 Solr 使用哪些技术来索引文档以及 Solr(或 Lucene)如何使用这些技术?
【问题讨论】:
标签: indexing solr lucene search-engine
首先 - 这是一个非常广泛的领域,您列出的大多数术语都不是索引类型。它们描述了无论在后台如何构建索引都可以支持的产品功能(或流行语)。
Solr 使用 Lucene - 其核心是倒排索引。
索引存储有关术语的统计信息,以使基于术语的搜索更有效。 Lucene 的索引属于称为倒排索引的索引家族。这是因为它可以为一个术语列出包含它的文档。这是自然关系的反面,其中文档列出了术语。
还有许多支持结构可以使 Lucene 对某些查询和功能更加高效。在这样的功能上是DocValues support - 它可以被描述为具有文档的面向列的存储 - > 术语映射以加速诸如分面之类的事情。
您可以在Codecs API Doc for Lucene 6.3.0 中查看大部分这些支持功能。由于这是一个相当大的列表,我将在评论中省略它。
【讨论】:
回答哪些技术 - 在底层,Solr 使用 Lucene API,Lucene 索引技术是 - 倒排索引强>。 Solr 只是一个带有基础设施包装器的完整应用程序,但底层文档索引技术是由 Lucene API 提供的。
Solr(或 Lucene)如何使用这些技术?
Here 是对初学者的 Lucene 索引的一个很好的概述。它只是一个非常简单的概述,但解释了基础知识。
由于 Solr 是一种产品,它的大部分可用文档都是功能性文档(不解释实际的索引技术等),并且由于 Lucene 的原始使用很少,Lucene 文档没有达到标准,所以大多数时候,需要挖掘 Lucene 代码或 API 文档以了解 Lucene 的工作原理。
希望对你有帮助!!
【讨论】: