Bootstrap

ElasticSearch 进行拼写纠错

代码

GET so_blog/_search
{
  "suggest": {
    "text" : "jeva null point exception",
    "simple_phrase" : {
      "phrase" : {
        "field" :  "title",
        "size" :   3,
        "direct_generator" : [ {
          "field" :            "title",
          "suggest_mode" :     "always",
          "min_word_length" :  4
        } ],
        "collate": {
          "query": { 
            "source" : {
              "match": {
                "{{field_name}}" : "{{suggestion}}" 
              }
            }
          },
          "params": {"field_name" : "title"}, 
          "prune": true 
        }
      }
    }
  }
}

结果

{
  "took": 17,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 0,
    "max_score": 0,
    "hits": []
  },
  "suggest": {
    "simple_phrase": [
      {
        "text": "jeva null point exception",
        "offset": 0,
        "length": 25,
        "options": [
          {
            "text": "java null point exception",
            "score": 5.7761673e-7,
            "collate_match": true
          },
          {
            "text": "java null print exception",
            "score": 5.6032076e-7,
            "collate_match": true
          },
          {
            "text": "java null points exception",
            "score": 4.1224448e-7,
            "collate_match": true
          }
        ]
      }
    ]
  }
}

参考地址

详细信息参考下面的地址,官网给出了几种不同的方式。
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-phrase.html

相关知识点

代码自动补全
扩展

;