2020-02-28
布尔模型
在查询中使用 AND 、 OR 和 NOT
TF/IDF
tf(t in d) = √frequency
词 t 在文档 d 的词频( tf )是该词在文档中出现次数的平方根。
将参数 index_options 设置为 docs 可以禁用词频统计及词频位置,这个映射的字段不会计算词的出现次数,对于短语或近似查询也不可用。要求精确查询的 not_analyzed 字符串字段会默认使用该设置。
idf(t) = 1 + log ( numDocs / (docFreq + 1))
词 t 的逆向文档频率( idf )是:索引中文档数量除以所有包含该词的文档数,然后求其对数。
字段长度归一值
norm(d) = 1 / √numTerms
norm是字段中词数平方根的倒数
举例
examplevector space model
when search 'happy hippopotamus':
// of course 'hippopotamus' weighs more
happy hippopotamus => [2,5] (weight vectors)
then calculated in indices:
Document 1: (happy,____________)—[2,0]
Document 2: ( ___ ,hippopotamus)—[0,5]
Document 3: (happy,hippopotamus)—[2,5]
It appears that doc 3 is the most relevant one.
image.png
网友评论