首页 > 解决方案 > 在 elasticsearch 中对文本和关键字运行范围查询

问题描述

我有一个索引,其中有我的映射,例如:

PUT /index_name
{
  "mappings":{
    "properties":{
      "id": {"type": "keyword"},
      "freelancer_id": {"type": "keyword"},
      "working_days": {"type": "text"}, 
      "working_time": {"type":"text"}
    }
  }
}

然后我正在寻找

GET /freelancer_working_days/_search
{
  "query": {
    "term": {
      "working_time": "12"
    }
  }
}

效果很好。但是时间应该在范围内,所以我应该能够在时间之间进行搜索。示例:在 2 - 12 之间,我应该能够匹配从 2 到 12 的文档。这可以使用数字范围来完成,但我需要能够在文本或关键字上做到这一点。有没有办法做到这一点?我在文档中找到了这个。

标签: elasticsearchelastic-stack

解决方案


推荐阅读