упорный поиск bool запрос добавить логику - PullRequest
1 голос
/ 04 июня 2019
$params = [
        "size" => 5000,
        'index' => 'my_post',
        'type' => 'my_post',
        'body' => [
            'query' => [
                'bool' => [
                    'should' => [
                        [

                            'match' => ['poststatus_id' => 'public']
                        ],
                        [
                            "bool" => [
                                "must" => [
                                    "match" => [
                                        'poststatus_id' => 'only_me',
                                    ],
                                    "match" => [
                                        'creator.user_id' => $user
                                    ]
                                ]
                            ]


                        ],
                    ],
                ]
            ]
        ]
    ];

это мой эластичный поисковый запрос. Мне нужно другое условие или условие poststatus_id = "последователи" и creator.user_id в (1,2,3,4), кто-нибудь подскажет, как я могу написать этот запрос

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Попробуйте это ..

$params = [
        "size" => 5000,
        'index' => 'my_post',
        'type' => 'my_post',
        'body' => [
            'query' => [
                'bool' => [
                    'should' => [
                        [

                            'match' => ['poststatus_id' => 'public']
                        ],
                        [
                            "bool" => [
                                "must" => [
                                    [
                                        "match" => [
                                            'poststatus_id' => 'only_me',
                                        ]
                                    ],
                                    [
                                        "match" => [
                                            'creator.user_id' => $user
                                        ]
                                    ]
                                ]
                            ]
                        ],
                        [
                            "bool" => [
                                "must" => [
                                    [
                                        "match" => [
                                            "poststatus_id" => "followers"
                                        ]
                                    ],
                                    [
                                        "terms" => [
                                            "poststatus_id" => [1,2,3,4]
                                        ]
                                    ]
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ]
    ];
0 голосов
/ 04 июня 2019
$params = [
        "size" => 5000,
        'index' => 'my_post',
        'type' => 'my_post',
        'body' => [

            'query' => [
                'bool' => [
                    'should' => [
                        [

                            'match' => ['poststatus_id' => 'public']
                        ],
                        [
                            "bool" => [
                                "must" => [
                                    "match" => [
                                        'poststatus_id' => 'only_me',
                                    ],
                                    "match" => [
                                        'creator.user_id' => $user
                                    ]
                                ]
                            ]


                        ],

                        [
                            "bool" => [
                                "must" => [
                                    [
                                        "match" => [
                                            "poststatus_id" => "followers"
                                        ]
                                    ],
                                    [
                                        "terms" => [
                                            "creator.user_id" => [1,2,3,4]
                                        ]
                                    ]
                                ]
                            ]
                        ]
                    ],
                ]
            ],

        ]
    ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...