ES权威指南[官方文档学习笔记]-55 Exact values vs. Full text

es:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_exact_values_vs_full_text.html

下一篇:http://my.oschina.net/qiangzigege/blog/265360

内容

数据类型可以分为2类:具体值和全文。

具体值,比如说日期或者一个用户ID,也可以包括具体的字符串比如用户名或者邮箱。

具体值"Foo"与具体值"foo"不同. 
具体值2014 与具体值2014-09-15也不同.

全文,引用文本内容,比如tweet的文本或者email的内容。

全文通常理解为非结构化数据,问题是:自然语言的规则复杂,计算机难以解析,比如,考虑到以下句子:

May is fun but June bores me.
这是说月份还是人?

具体值就容易查询,一个值要么匹配查询要么不匹配。
用SQL表达如下:

WHERE name    = "John Smith"
  AND user_id = 2
  AND date    > "2014-09-15"
  
查询全文的数据就更微妙,
我们不仅仅问文档是否匹配查询,还要知道文档与查询有多匹配,
换句话来说,相关度如何?

很少情况下,我们想完全匹配文本段,而是在文本域里搜索,我们还希望搜索能够理解我们的意图。

一个针对于"UK"的搜索应该可以返回包含"United Kingdom"的文档。

一个针对于"jump"的搜索应该匹配 "jumped", "jumps", "jumping" 或许甚至匹配"leap"

"johnny walker"应该匹配"Johnnie Walker","johnnie depp"应该匹配"Johnny Depp"。

"fox news hunting"应该返回跟"hunting on Fox News"有关的故事,
"fox hunting news"应该返回"news stories about fox hunting"有关的。

为了让这些全文字段的搜索便利,es首先分析文本,然后使用结果来建立倒排索引,
我们将讨论倒排索引和分析过程。

 

转载于:https://my.oschina.net/qiangzigege/blog/264761

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值