Elasticsearch:模糊 + 接近 + 字段提升 + 布尔运算符

问题描述

我正在构建一个应用程序,用于搜索大量姓名和地址索引。用户通常会搜索某人的姓名,但他们也可能会搜索街道地址或城市。

我想让用户能够使用双引号、“bob smith”或使用 +、- 等进行类似 google 的短语搜索

我不知道如何构造一个查询

  • 对拼写错误进行模糊搜索

  • 提高了词条的接近度,因此搜索“bob smith”会使具有该名字的人的排名高于 smith 街上名为 bob 的人。

  • 对名字和姓氏有一个字段提升,因此在名字字段中带有“bob”的人将比“bob street”中的人排名更高

  • 启用 +、-、AND、OR、NOT 等,如果使用省略括号也不会崩溃

最后一个是可有可无的,不是必需的。如果应用程序要可用,前两个很重要。

我尝试过以下查询类型:from instapy_cli import client username = 'USERNAME' password = 'PASSWORD' video = 'docs/video-sample-upload.mp4' text = 'This will be the caption of your video.' + '\r\n' + 'You can also use hashtags! #hash #tag #Now' with client(username,password) as cli: cli.upload(video,text) matchmatch_phrasequery_stringsimple_query_string。我尝试了以下选项:multi-matchfuzziness: AUTOlenient: true

我找不到可以完成我需要的所有事情的神奇查询类型。有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)