确切值 及 全文文本。
确切值是确定的,正如它的名字一样。比如一个date或用户ID,也可以包含更多的字符串比如username或email地址。
确切值和"foo"
就并不相同。确切值2014
和2014-09-15
也不相同。
全文文本,从另一个角度来说是文本化的数据(常常以人类的语言书写),比如一篇推文(Twitter的文章)或邮件正文。
问题是自然语言的语法规则是如此的复杂,计算机难以正确解析。例如这个句子:
到底是说的月份还是人呢?
确切值是很容易查询的,因为结果是二进制的 — 要么匹配,要么不匹配。下面的查询很容易以SQL表达:
WHERE name = "John Smith"
而对于全文数据的查询来说,却有些微妙。我们不会去询问这篇文档是否匹配查询要求?
。
但是,我们会询问这篇文档和查询的匹配程度如何?
。换句话说,对于查询条件,这篇文档的相关性有多高?
一个针对
"jump"
的查询同时能够匹配"jumped"
, ,"jumping"
甚至"leap"
能返回有关hunting on Fox News的故事,而
"fox hunting news"
也能返回关于fox hunting的新闻故事。