100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 32.ES中什么是fuzzy(模糊)查询?如何进行fuzzy查询?java如何进行fuzzy查询?嘻哈的简

32.ES中什么是fuzzy(模糊)查询?如何进行fuzzy查询?java如何进行fuzzy查询?嘻哈的简

时间:2023-05-26 18:59:46

相关推荐

32.ES中什么是fuzzy(模糊)查询?如何进行fuzzy查询?java如何进行fuzzy查询?嘻哈的简

1.ES中什么是fuzzy(模糊)查询?如何进行fuzzy查询?

模糊查询,我们输入字符的大概,ES就可以去根据输入的内容大概去匹配一下结果;

注意:他和我们在MySQL中的模糊查询还是有区别的,他有个偏移值;比如:当我们在京东中输入appla的时候他会出现许多apple(苹果),就像它有个自动修正似的;它就是按照匹配的相似度来的;也就是说,一些信息,有对的也有错误的,它会利用这些大概的信息,给我们匹配信息出来

他有几个属性,例如:设置保证前几个是不能出错,设置最大的偏移量(也就是可以错误几个值)

#模糊查询fuzzyGET /book/novel/_search{"query": {"fuzzy": {"name": {"value": "我的好","fuzziness": 2#偏差的个数}}}}

解释:name字段中的数据和关键字**“我的好”进行匹配;”fuzziness”:2 含义是允许匹配的数字与关键字有最多两个字的偏差**(不同);

#模糊查询fuzzyGET /book/novel/_search{"query": {"fuzzy": {"author": {"value": "滔滔滔","prefix_length": 1 #指定前面几个字符是不允许出现错误的}}}}

解释:author字段中的数据和关键字“滔滔滔”,进行匹配;”prefix_length”: 1 含义是指定前面几个字符是不允许出现错误的;

注意:prefix_lengthfuzziness这两个属性是进一步筛选的,如果有些词语查不出来,原因是就算当没有这两个属性的时候也无法进行匹配出来;所以加上了这两个属性,就更不能匹配出来;这里要注意;如果有问题,就先把这两个属性先去掉试试;

2.java如何进行fuzzy查询?

@Test //fuzzy模糊查询public void test18() throws IOException {//把字段名,和关键字作为参数传进去;QueryBuilder queryBuilder = QueryBuilders.fuzzyQuery("author","滔滔滔").prefixLength(3);ClientUtils.queryTemplate(indextName,typeName,queryBuilder);}

。。。。。。。。。。。。。

嘻哈的简写笔记

。。。。。。。。。。。。。

32.ES中什么是fuzzy(模糊)查询?如何进行fuzzy查询?java如何进行fuzzy查询?嘻哈的简写笔记——Elastic Search

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。