# 全文搜索

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/full-text-queries.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/full-text-queries.html)（修改该链接为官网对应的链接）

译文链接 : [http://www.sohu.wiki/pages/viewpage.action?pageId=4260531](http://www.sohu.wiki/pages/viewpage.action?pageId=4260531)（修改该链接为 ApacheCN 对应的译文链接）

贡献者 : @羊两头

## 全文搜索(Full Text Search)

       高级别的全文搜索通常用于在全文字段（例如：一封邮件的正文）上进行全文搜索。它们了解如何分析查询的字段，并在执行之前将每个字段的分析器（或搜索分析器）应用于查询字符串。

这样的查询有以下这些：

*   `[匹配查询（match query）](http://www.le.wiki/pages/viewpage.action?pageId=4882547)`
    用于执行全文查询的标准查询，包括模糊匹配和词组或邻近程度的查询

*   [短语匹配查询（`match_phrase` query）](http://www.le.wiki/pages/viewpage.action?pageId=4882552)
    与匹配查询类似，但是是用于更加精确的匹配相似的词组或单词。

*   [短语前缀匹配查询（`match_phrase_prefix` query）](http://www.le.wiki/pages/viewpage.action?pageId=4882555)
    这是一种弱类型的查询，类似短语匹配查询，但是它对最终要查询的单词的前缀进行模糊匹配的查询

*   [`多字段查询（multi_match` query）](http://www.apache.wiki/pages/viewpage.action?pageId=4883323)
    可以用来对多个字段的版本进行匹配查询

*   [`常用术语查询（common_terms` query）](http://www.apache.wiki/pages/viewpage.action?pageId=4883341)
    可以对一些比较专业的偏门词语进行的更加专业的查询

*   [`查询语句查询（query_string` query）](http://www.apache.wiki/pages/viewpage.action?pageId=4883355)
    与lucene查询语句的语法结合的更加紧密的一种查询，允许你在一个查询语句中使用多个 特殊条件关键字（如：AND|OR|NOT ）对多个字段进行查询，当然这种查询仅限专家用户去使用。

*   `[简单查询语句（simple_query_string）](http://www.apache.wiki/pages/viewpage.action?pageId=4883429)`
    是一种适合直接暴露给用户的简单的且具有非常完善的查询语法的查询语句