Query DSL 中的 Elastic Search 中的Query Context和Filter Context有什么区别。
我的理解是查询上下文 - 文档与查询参数的匹配程度。
前任:
{ "match": { "title": "Search" }}
如果我正在搜索标题为“搜索”的文档,那么如果我包含两个文档
i)title:"Search"
ii)title:"Search 123"
那么第一个文档是完全匹配的,而文档二是半匹配的。然后第一个文档排在第一位,第二个文档排在第二位。我的理解正确吗?
过滤器上下文:
例如:
{ "term": { "status": "published" }}
如果我正在搜索状态为“已发布”的文档,那么如果我包含两个文档
i)status:"published"
ii)status:"published 123"
然后第一个文档是完美的,所以它被返回,第二个匹配不是完美的匹配,所以它不会被返回。我的理解正确吗?