首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索中的多字段字词搜索

弹性搜索中的多字段字词搜索
EN

Stack Overflow用户
提问于 2020-05-25 17:52:30
回答 1查看 169关注 0票数 2

我的输入信息是"Java开发人员与4年“,在数据库中有2个字段,这是技能和经验。

此处技能字段维护: java开发人员等

exp字段维护:4年等

当我搜索字符串(具有4年的java开发人员)时,它必须在这2个字段上进行搜索,并仅得到具有4年经验的java开发人员。

EN

回答 1

Stack Overflow用户

发布于 2020-05-25 18:19:30

您可以在您的两个字段(技能和经验)上使用布尔匹配查询和skill子句。

请参考https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html的例子和如何做。

工作示例

索引定义

代码语言:javascript
复制
{
  "mappings": {
    "properties": {
      "skill": {
        "type": "text"
      },
      "exp" :{
        "type" : "text"
      }
    }
  }
}

索引文档示例

代码语言:javascript
复制
{
  "skill" : "java",
  "exp" : "4 years"
}

{
  "skill" : "php",
  "exp" : "4 years"
}

搜索仅适用于具有4年exp的java

代码语言:javascript
复制
{
    "query": {
        "bool": {
            "must": [
                {
                    "match": {
                        "skill": "java"
                    }
                },
                {
                    "match": {
                        "exp": "4 years"
                    }
                }
            ]
        }
    }
}

和结果

代码语言:javascript
复制
 "hits": [
      {
        "_index": "multimatch",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0577903,
        "_source": {
          "skill": "java",
          "exp": "4 years"
        }
      }
    ]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61999946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档