Here's what I am trying to accomplish,
Documents are categorized into category names and I am trying to fetch all documents under a certain category. This works out as expected using the following snippet,
'index' => 'test_index', 'type' => 'test_type', 'body' => [ 'from' => 0, 'size' => 20, 'query' => [ 'bool' => [ 'must' => [ 'match_phrase' => [ 'cat_name' => 'elastic' ] ] ] ] ]
The problem is the result order changes each time the query is run and seeing that the scores returned are all the same (at-least on the first page), I believe this is the reason.
To get around this, I came across
preference parameter which tries to keep things consistent but this would not work if the same query was run by a different user (think a website user).
Another alternative is to wrap this in a
dis max query with
tie_breaker but I believe this isn't what I am looking for considering there would be just one bool query in it.
I have been looking around the documentation and it feels like I am overthinking this a bit too much.
Any help will be appreciated