gpt4 book ai didi

Term 和 Fields 之间的 Lucene 区别

转载 作者:行者123 更新时间:2023-12-05 03:49:27 24 4
gpt4 key购买 nike

我已经阅读了很多关于 Lucene 索引和搜索的内容,但仍然无法理解什么是 Term?term 和 fields 有什么区别?

最佳答案

一个非常粗略的类比是,字段就像数据库表中的列,而术语就像每个数据库列中的内容。

更具体地说是 Lucene:

条款

术语是索引标记。参见 here :

Lucene Analyzers are processing pipelines that break up text into indexed tokens, a.k.a. terms

因此,例如,如果您在文档中有以下句子...

"This is a list of terms"

...然后您将其传递给空白分词器,这将生成以下术语:

This
is
a
list
of
terms

因此,术语也是您在执行搜索时放入查询中的内容。参见 here了解如何在经典查询解析器中使用它们。

字段

字段是文档的一部分。

一个简单的例子是文档的标题与文档的正文(剩余的文本/内容)。这些可以定义为 Lucene 索引中的两个独立的 Lucene 字段。

(您显然需要能够解析源文档,以便您可以将标题与正文分开 - 否则您无法在构建 Lucene 索引时正确填充每个单独的字段。)

然后您可以将标题的所有术语放入标题字段;和主体的术语到 body 字段。

现在您可以将标题数据与正文数据分开搜索。

您可以阅读有关字段的信息 herehere .有各种不同类型的字段,特定于它们将持有的数据类型(术语)。

关于Term 和 Fields 之间的 Lucene 区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63976680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com