当前位置: 首页 > elasticsearch, 搜索 > 正文

elasticsearch FuzzyLikeThisQueryBuilder实例

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

需求:在搜索中经常需要模糊搜索,比如我们搜“国”,希望能得到“中国”,“英国”等等。这时候就可以用FuzzyLikeThisQueryBuilder实现。
java 实例代码如下:

FuzzyLikeThisQueryBuilder fuzzy=new FuzzyLikeThisQueryBuilder("fname");//fname 为搜索的field
fuzzy.analyzer("ik").likeText(q).minSimilarity(0.5f).prefixLength(0);;//最低相似度为0.5,前缀为0
client.prepareSearch("test").setQuery(fuzzy).execute().actionGet();

http请求实例:

{
        "fuzzy" : { 
            "fname" : {
                "value" : "国",
                "boost" : 1.0,
                "min_similarity" : 0.5,
                "prefix_length" : 0
                "analyzer": "ik"
            }
        }
    }

参考文章:http://www.elasticsearch.org/guide/reference/query-dsl/fuzzy-query/

本文固定链接: http://www.chepoo.com/elasticsearch-fuzzy-like-this-query-builder-demo.html | IT技术精华网

elasticsearch FuzzyLikeThisQueryBuilder实例:等您坐沙发呢!

发表评论