ElasticSearch--Term-Based VS Full-Text

所有的访问执行关联度计算,但并不是所有访问都有一个分析阶段。除了一些特定查询例如Bool或者是function_score查询,这些不再文本上执行。文本访问可以被分成两个部分:

Term-based queries

Queries 像term或者是fuzzy queries 是一种低水平访问,没有分析模块。它们在单个term上执行。一个term query for foo 寻找具体term 在反向索引中, 并且计算TF/IDF 相关度_score 给每一个包含该term的文档
记住term query 在仅仅反向索引中寻找具体的term是很重要的。它不会匹配像foo 或者是FOO这样的值。如果你索引[“Foo”,”Bar”]在具体的not_analyzed field,或者Foo Bar在analyzed field,两者都会导致 2个 terms Foo 和 Bar 在反向索引中。

Full-text queries

像match或者query_string是高逼格的访问,请理解field的映射

  1. 如果你用她们query date 或者 integer filed, 它们会把queryString 当成date 或者是integer类型
  2. 如果你query exact value(not_analyzed)string field,它会把真个字符串当成一个单个term
  3. 但是如果你query a full-text(analyzed) field, 它会第一步通过合适的分析器去访问字符串 然后去生成一个待访问的term 列表,一旦term列表已经就绪,它会执行一个合适的低水平query, 然后把结果组成起来,并且生成一个最终的相关度score为每一个文档。我们会在后面的章节讨论具体的细节
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值