Skip to content

Commit

Permalink
Update 30_Most_fields.asciidoc (elasticsearch-cn#481)
Browse files Browse the repository at this point in the history
  • Loading branch information
lujun9972 authored and medcl committed May 27, 2017
1 parent 42d1045 commit 825a9a2
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions 110_Multi_Field_Search/30_Most_fields.asciidoc
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[[most-fields]]
=== 多数字段

全文搜索被称作是 _召回率(Recall)_ 与 _精确率(Precision)_ 的战场: _召回率_ ——返回结果中的所有文档都是相关的;((("most fields queries")))((("multifield search", "most fields queries"))) _精确率_ ——返回结果中没有不相关的文档。目的是在结果的第一页中为用户呈现最为相关的文档。
全文搜索被称作是 _召回率(Recall)_ 与 _精确率(Precision)_ 的战场: _召回率_ ——返回所有的相关文档;((("most fields queries")))((("multifield search", "most fields queries"))) _精确率_ ——不返回无关文档。目的是在结果的第一页中为用户呈现最为相关的文档。

为了提高召回率的效果,我们扩大搜索范围((("recall", "improving in full text searches")))——不仅返回与用户搜索词精确匹配的文档,还会返回我们认为与查询相关的所有文档。如果一个用户搜索 “quick brown box” ,一个包含词语 `fast foxes` 的文档被认为是非常合理的返回结果。

如果包含词语 `fast foxes` 的文档是能找到的唯一相关文档,那么它会出现在结果列表的最上面,但是,如果有 100 个文档都出现了词语 `quick brown fox` ,那么这个包含词语 `fast foxes` 的文档当然会被认为是次相关的,它可能处于返回结果列表更下面的某个地方。当包含了很多潜在匹配之后,我们需要将最匹配的几个置于结果列表的顶部。

提高全文相关性精度的常用方式是为同一文本建立多种方式的索引,((("relevance", "fine-tuning full text relevance")))每种方式都提供了一个不同的相关度信号 _signal_ 。主字段会包括最广匹配(broadest-matching)形式的词去尽可能的匹配更多的文档。举个例子,我们可以进行以下操作:
提高全文相关性精度的常用方式是为同一文本建立多种方式的索引,((("relevance", "fine-tuning full text relevance")))每种方式都提供了一个不同的相关度信号 _signal_ 。主字段会以尽可能多的形式的去匹配尽可能多的文档。举个例子,我们可以进行以下操作:

* 使用词干提取来索引 `jumps` 、 `jumping` 和 `jumped` 样的词,将 `jump` 作为它们的词根形式。这样即使用户搜索 `jumped` ,也还是能找到包含 `jumping` 的匹配的文档。

Expand All @@ -17,7 +17,7 @@

尽管如此,如果我们有两个文档,其中一个包含词 `jumped` ,另一个包含词 `jumping` ,用户很可能期望前者能排的更高,因为它正好与输入的搜索条件一致。

为了达到目的,我们可以将相同的文本索引到其他字段从而提供更为精确的匹配。一个字段可能是为词干未提取过的版本,另一个字段可能是变音过的原始词,第三个可能使用 _shingles_ 提供 <<proximity-matching,词语相似性>> 信息。这些其他的字段作为提高每个文档的相关度评分的信号 _signals_ ,能匹配字段的越多越好。
为了达到目的,我们可以将相同的文本索引到其他字段从而提供更为精确的匹配。一个字段可能是为词干未提取过的版本,另一个字段可能是变音过的原始词,第三个可能使用 _shingles_ 提供 <<proximity-matching,词语相似性>> 信息。这些附加的字段可以看成提高每个文档的相关度评分的信号 _signals_ ,能匹配字段的越多越好。

一个文档如果与广度匹配的主字段相匹配,那么它会出现在结果列表中。如果文档同时又与 _signal_ 信号字段匹配,那么它会获得额外加分,系统会提升它在结果列表中的位置。

Expand Down

0 comments on commit 825a9a2

Please sign in to comment.