博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Lucene词汇解释】positionIncrement用法
阅读量:6984 次
发布时间:2019-06-27

本文共 1276 字,大约阅读时间需要 4 分钟。

  positionIncrement:这个字段决定当前 token 相对于上一个 token 的位置 ( 当前 token 的位置就是上一个 token 位置的值与 positionIncrement 的值的和 ), 它的作用主要体现在短语查询 (phrase search) 中 .
  一般它的默认值是 1. 但是可以把它设置为 0 或者大于 1 的值 , 起作用分别如下 :
  1. 当设置为0的时候是一个词有多个词干的情况下(这里指英文).短语查询对短语中的两个词之间的其它词的数量是有严格要求的,如果想进行严格匹配就可能限制为0,即两个词必须紧紧相连.这样如果不认为一个词产生的若干词干是在同一位置,就相当于认为他们是不同的词了,从而导致无法正确的匹配.举个例子说明,如果在建立索引的过程中出现了bound to这个句子,我们在对bound处理的时候会提取出两个词干,一个是bound本身,一个是bond.这个时候如果不进行特殊处理,保持positionIncrement的值不变,则由于提取出了两个词干导致先提取出的词干与to的位置间隔不为1了,而是2.这样在我们进行短语查询”bound to”时(假设先提出的词干是bound),由于在建立好的索引中bound和to之间的相对距离为2,所以将不会返回结果,这样就导致了一种可能错误的结果,即用户希望查询时任何一个词干匹配成功都返回结果,而此时却不能实现.但是如果在处理bound产生的两个词干时把positionIncrement的值设置为0,则就会防止这种现象出现,因为两个词干中的任何一个与to的距离都是1;
  2. 当设置为大于1的值的时候是两个词中间有一个或多个停用词的情况下.在建立索引的过程中,两个词中间的停用此被去掉了,如果不进行特殊处理,则可能导致原本是被其它词分隔开的两个词的距离为1了,因为这两个词之间的其它词都是停用词(a,an,the,are之类的)被过滤掉了.在这种情况下可能会出现在短语查询时本来是不应该匹配的却出现了返回结果,举个例子说明:如果在建立索引的过程中,如果有这样一段话:my name is steven,name steven在建立索引的过程中,由于is是停用词被过滤掉了,如果不进行特殊处理,则导致第一对name和steven之间的相对距离是1,这样在查询”name steven”时,会出现两个匹配,但是我们并不想要这个匹配,而只想要第二个匹配,这样就出现了错误的结果,导致结果不准切多;这个时候如果在处理第一对name和steven时把positionIncrement的值设置为2,则就不会出现这种结果了;

  综上所述,当设置为0时候是为了增加有效的匹配,使得返回的结果更准;在设置为大于1时,是为了减少错误的匹配,同样也是为了返回结果更加可信.

来源:http://hi.baidu.com/lewutian

转载于:https://www.cnblogs.com/ibook360/archive/2011/11/25/2263270.html

你可能感兴趣的文章
我的2013 Q.E.D
查看>>
2017 Multi-University Training Contest - Team 9 1002&&HDU 6162 Ch’s gift【树链部分+线段树】...
查看>>
4.5. Rspamd
查看>>
ArcMap中的名称冲突问题
查看>>
(转) 一张图解AlphaGo原理及弱点
查看>>
美联邦调查局 FBI 网站被黑,数千特工信息泄露
查看>>
掉电引起的ORA-1172错误解决过程(二)
查看>>
在网站建设过程中主要在哪几个方面为后期的网站优打好根基?
查看>>
【MOS】RAC 环境中最常见的 5 个数据库和/或实例性能问题 (文档 ID 1602076.1)
查看>>
新年图书整理和相关的产品
查看>>
Struts2的核心文件
查看>>
Spring Boot集成Jasypt安全框架
查看>>
GIS基础软件及操作(十)
查看>>
HDOJ 2041 超级楼梯
查看>>
1108File Space Bitmap Block损坏能修复吗2
查看>>
遭遇DBD::mysql::dr::imp_data_size unexpectedly
查看>>
人人都会设计模式:03-策略模式--Strategy
查看>>
被忽视但很实用的那部分SQL
查看>>
解读阿里云oss-android/ios-sdk 断点续传(多线程)
查看>>
ML之监督学习算法之分类算法一 ——— 决策树算法
查看>>