弹性search不按预期工作

我已经使用这个查询

'body' => [ 'query' => [ 'bool' => [ 'should' => [ ['match' => ['title'=> $q]], ['match' => ['year'=> $q]], ['match' => ['case_type'=> $q]], ['match' => ['body'=> $q]], ['match' => ['petition_no'=> $q]], ['match' => ['keywords'=> $q]] ] ] ] ] 

我不知道为什么我没有得到正确的结果。 在Docker ELASTICSEARCH日志中显示[WARN] [oedimStringFieldMapper $ TypeParser] [string]字段已弃用,请在[标题]上使用[文本]或[关键字]而不是请求帮助?

如果您正在使用高于5.x的ES版本,则不推荐使用string数据typesFYI:

在5.x中创build的索引不支持string字段,以支持文本和关键字字段。

来自原始来源 。 您可能必须创build字段,其中包含typestextkeyword而不是您的映射中的string