为了账号安全,请及时绑定邮箱和手机立即绑定

Python中Elasticsearch多字段查询请求

Python中Elasticsearch多字段查询请求

繁星coding 2023-09-12 20:10:53
我是 Elasticsearch 和 Python 的初学者,我在 Elasticsearch 中使用一些数据创建了一个索引,我想使用 python 对这些数据执行查询请求。这是我在 Kibana 开发工具中创建的数据映射:PUT /main-news-test-data{  "mappings": {    "properties": {      "content": {        "type": "text"      },      "title": {        "type": "text"      },      "lead": {        "type": "text"      },      "agency": {        "type": "keyword"      },      "date_created": {        "type": "date"      },      "url": {        "type": "keyword"      },      "image": {        "type": "keyword"      },      "category": {        "type": "keyword"      },      "id":{        "type": "keyword"      }    }  }}这是我的 Python 代码,其中我们给它一个关键字和一个类别号,它必须检查弹性数据的标题、引导和内容字段中是否有匹配的关键字,并检查输入的类别号和数据类别号并返回/打印出符合此条件的任何对象:from elasticsearch import Elasticsearchimport json,requestses = Elasticsearch(HOST="http://localhost", PORT=9200)es = Elasticsearch()def QueryMaker (keyword,category):   response = es.search(index="main-news-test-data",body={"from":0,"size":5,"query":{"multi_match":{       "content":keyword,"category":category,"title":keyword,"lead":keyword}}})   return(response)if __name__ == '__main__':     keyword = input('Enter Keyword: ')    category = input('Enter Category: ')    #startDate = input('Enter StartDate: ')    #endDate = input('Enter EndDate: ')    data = QueryMaker(keyword,category)    print(data)但是当我将数据提供给输入时,我收到此错误:elasticsearch.exceptions.RequestError: RequestError(400, 'parsing_exception', '[multi_match] query does not support [content]')我究竟做错了什么?编辑:关键字必须包含在标题、线索和内容中,但不必与它们相同
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您的multi_match查询语法在这里是错误的,我也认为您需要这样的东西,

{

  "from":0,

  "size":5,

  "query": {

    "bool": {

      "should": [

        {

          "multi_match" : {

            "query":      keyword,

            "fields":     [ "content", "title","lead" ]

          }

        },

        {

          "multi_match" : {

            "query":      category,

            "fields":     [ "category" ]

          }

        }

      ]

    }

  }

}


查看完整回答
反对 回复 2023-09-12
  • 1 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信