elasticsearch - Elastisearch 多匹配搜索无法正常工作
问题描述
我在 elasticsearch 中有一个用户,用户的全名是 Mike John Khosa,用户名是 mikekhosa。因此,当我搜索用户 khosa 时,该用户应该进入搜索结果,但在我目前的情况下当前未搜索。下面是我的工作代码
{
"from": 0,
"size": 40,
"sort": [
{
"username.raw": {
"order": "desc"
}
}
],
"_source": [
"id",
"uid",
"username",
"full_name",
"picture",
"bucket"
],
"query": {
"bool": {
"must": [
{
"term": {
"type": "user"
}
},
{
"term": {
"db_id": 27428
}
},
{
"multi_match": {
"query": "khosa",
"type": "cross_fields",
"fields": [
"username.raw",
"username",
"full_name.raw",
"full_name"
]
}
}
],
"must_not": {
"terms": {
"id": [
"u-2",
"u-19712"
]
}
}
}
}
}
我在谷歌上搜索了超过 5 个小时,但未能实施好的解决方案。我不知道我在哪里做错了
解决方案
推荐阅读
- node.js - 仅对某些文件使用 ssh2-sftp-client (NodeJS) 过滤 uploaDir 的条件
- java - 在 Spring Framework 项目中实现 Swagger API
- java - php:使用 RSA 私钥的字符串加密(从 JAVA 转换为 php)
- python - 使用多个输入 python 并行化列表理解
- websocket - 如何通过 Linux 命令行获取发送到 http://localhost:7777/ 的消息?
- c++ - 用户在 Visual Studio 中添加宏不起作用
- angular - 角度 aot 构建在 node_module typescript.js 中显示未定义错误的类型
- java - 类 java.util.LinkedHashMap 不能转换为类 java.lang.String(java.util.LinkedHashMap 和 java.lang.String
- javascript - onclick 使用按钮和 svg 图标不起作用
- machine-learning - 判别模型机器学习