Elasticsearch dsl q('match', path = ) 有什么作用?



在python中使用elasticsearch_dsl查询时,有一个辅助函数Q执行DSL查询。然而,我不明白这个查询在我发现的代码中想说什么:

ES_dsl.Q('match', path=path_to_file)

Q('match', path = path_to_file)到底在做什么?

其中path_to_file是索引中系统中文件的有效路径。

是不是只在嵌套查询路径?在"匹配"查询中没有路径?我猜它是去标记path_to_file以找到一个完全匹配的?如果能解释一下发生了什么,我将不胜感激。

它采用的方法是将查询类型作为第一个值,然后是接下来要查询的内容。也就是说;

  1. 运行匹配查询- https://www.elastic.co/guide/en/elasticsearch/reference/7.15/query-dsl-match-query.html
  2. 使用path字段查找path_to_file

所以将它与上面的文档页面相匹配,在直接DSL中是这样的;

GET /_search
{
"query": {
"match": {
"path": {
"query": "path_to_file"
}
}
}
}

相关内容