这对我来说应该是显而易见的,但事实并非如此。以下两个仅匹配第二个阶段(在这种情况下为Cape Basin)
Cape Basin
"query": { "match_phrase": { "contents": { "query": "St Peter Fm", "query": "Cape Basin" } } } "query": { "match_phrase": { "contents": { "query": ["St Peter Fm", "Cape Basin"] } } }
而以下错误发出错误消息
"query": { "match_phrase": { "contents": { "query": "St Peter Fm" }, "contents": { "query": "Cape Basin" } } }
我想匹配包含的所有文件 或者 输入完全相同的词组。
您的第一个查询实际上不是有效的JSON对象,因为您两次使用相同的字段名称。
您可以使用布尔必须查询来匹配两个短语:
PUT phrase/doc/1 { "text": "St Peter Fm some other text Cape Basin" } GET phrase/_search { "query": { "bool": { "must": [ {"match_phrase": {"text": "St Peter Fm"}}, {"match_phrase": {"text": "Cape Basin"}} ] } } }