zoukankan      html  css  js  c++  java
  • 29. 误拼写时的fuzzy模糊搜索技术

    搜索的时候,可能输入的搜索文本会出现误拼写的情况,这时就需要es为我们进行智能纠错

    比如有两个文档:

    doc1: hello world

    doc2: hello java

       

    现在要搜索:hallo world,我们本来是想搜索hello word,但是我们拼写错了,写成hallo word,所以要用到fuzzy搜索技术 :自动将拼写错误的搜索文本,进行纠正,纠正以后去尝试匹配索引中的数据

       

    一、准备数据

       

    POST /my_index/my_type/_bulk

    { "index": { "_id": 1 }}

    { "text": "Surprise me!"}

    { "index": { "_id": 2 }}

    { "text": "That was surprising."}

    { "index": { "_id": 3 }}

    { "text": "I wasn't surprised."}

       

    二、进行搜索

    GET /my_index/my_type/_search

    {

    "query": {

    "fuzzy": {

    "text": {

    "value": "surprize",

    "fuzziness": 2

    }

    }

    }

    }

       

    surprize --> 拼写错误 --> surprise --> s -> z

    "fuzziness": 2 表示纠错的最大限度,

       

    fuzzy搜索以后,会自动尝试将你的搜索文本进行纠错,然后去跟文本进行匹配

    fuzziness,你的搜索文本最多可以纠正几个字母去跟你的数据进行匹配,默认如果不设置,就是2

       

    三、也可以用以下语法:

    GET /my_index/my_type/_search

    {

    "query": {

    "match": {

    "text": {

    "query": "SURPIZE ME",

    "fuzziness": "AUTO",

    "operator": "and"

    }

    }

    }

    }

  • 相关阅读:
    【HDU3681】Prison Break-状态压缩DP+BFS+二分答案
    【BashuOJ3520】警察局长-最短路树+树上背包+概率DP
    【POJ1201】Intervals-差分约束系统+单源最长路
    【BashuOJ2041】最大矩形-矩阵型DP
    【BashuOJ2041】最大矩形-矩阵型DP
    deleted
    deleted
    deleted
    deleted
    deleted
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8530837.html
Copyright © 2011-2022 走看看