elasticsearch,laravel-scout,Php,Laravel,elasticsearch,Laravel Scout" /> elasticsearch,laravel-scout,Php,Laravel,elasticsearch,Laravel Scout" />

Php “的正确语法;不可";Laravel Scout Elasticsearch搜索规则“;babenkoivan/scout elasticsearch司机“;包裹

Php “的正确语法;不可";Laravel Scout Elasticsearch搜索规则“;babenkoivan/scout elasticsearch司机“;包裹,php,laravel,elasticsearch,laravel-scout,Php,Laravel,elasticsearch,Laravel Scout,我正在尝试使用Laravel Scout和elasticsearch顶部的babenkoivan/Scout elasticsearch驱动程序向我的搜索添加一个不得子句 这样做的目的是排除sall字段的时间戳超过14天或大于零的所有结果 然而,我似乎无法获得正确的语法,并且没有关于如何在包repo上执行此操作的文档。我试着像Elasticsearch文档中那样格式化它,但这是不正确的 以下是一套规则: public function buildQueryPayload() {

我正在尝试使用Laravel Scout和elasticsearch顶部的babenkoivan/Scout elasticsearch驱动程序向我的搜索添加一个
不得
子句

这样做的目的是排除
sall
字段的时间戳超过14天或大于零的所有结果

然而,我似乎无法获得正确的语法,并且没有关于如何在包repo上执行此操作的文档。我试着像Elasticsearch文档中那样格式化它,但这是不正确的

以下是一套规则:

public function buildQueryPayload()
    {
        $query = $this->builder->query;

        return [
            'must' => [
                'query_string' => [
                    'query' => $query,
                ],
            ],
            'must_not' => [
                'term' => [
                    'visible' => 0
                ],
                'range' => [
                    'sold' => [
                        'lte' => time() - 1209601, // 14 days ago plus 1 second
                        'gte' => 0
                    ]
                ]
            ],
            'should' => [
                ...
            ],
        ];
    }
目前我得到一个
Elasticsearch\Common\Exceptions\BadRequest400Exception
错误

以下是有关语法的错误:

{
   "error":{
      "root_cause":[
         {
            "type":"parsing_exception",
            "reason":"[term] malformed query, expected [END_OBJECT] but found [FIELD_NAME]",
            "line":1,
            "col":97
         }
      ],
      "type":"parsing_exception",
      "reason":"[term] malformed query, expected [END_OBJECT] but found [FIELD_NAME]",
      "line":1,
      "col":97
   },
   "status":400
}

有什么想法可以让我们为子孙后代记录下来吗?谢谢

尝试将“术语”替换为“匹配”