gpt4 book ai didi

elasticsearch - Elasticsearch 中多个字段上的单词搜索

转载 作者:行者123 更新时间:2023-12-02 22:34:34 26 4
gpt4 key购买 nike

我输入的消息是“有4年的Java开发人员”,并且DB中有2个字段是Skill和exp。

这里技能 Realm 维护:java开发人员等

exp Realm 维护:4年等

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

最佳答案

您可以在两个字段(技能和经验)上使用带有must子句的 bool(boolean) 匹配查询。

请引用https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html的示例和操作方法。

工作示例

索引定义

{
"mappings": {
"properties": {
"skill": {
"type": "text"
},
"exp" :{
"type" : "text"
}
}
}
}

索引样本文档
{
"skill" : "java",
"exp" : "4 years"
}

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

仅搜索具有4年经验的Java
{
"query": {
"bool": {
"must": [
{
"match": {
"skill": "java"
}
},
{
"match": {
"exp": "4 years"
}
}
]
}
}
}

和结果
 "hits": [
{
"_index": "multimatch",
"_type": "_doc",
"_id": "1",
"_score": 1.0577903,
"_source": {
"skill": "java",
"exp": "4 years"
}
}
]

关于elasticsearch - Elasticsearch 中多个字段上的单词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61999946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com