Calling Developers!
We are reenergizing our code contribution process! Learn More

What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hi guys, I have a problem with Elasticsearch. In postman, after executing the query, i've got 3 matc

Options
U04571TCJAW
U04571TCJAW Posts: 13 🧑🏻‍🚀 - Cadet

Hi guys,
I have a problem with Elasticsearch. In postman, after executing the query, i've got 3 matching records to my attribute, but after doing this in code i've got only one (first) matching record. Is there any way to solve this? In answer to my question there's my query in postman and below method from my QueryPlugin.

Comments

  • U04571TCJAW
    U04571TCJAW Posts: 13 🧑🏻‍🚀 - Cadet
    Options

    POST /http://spryker.local:9200/spryker_b2b_dev_de_page/_search

    {
    "query": {
    "bool": {
    "must": {
    "match": {
    "varchar_attribute": "M90850"
    }
    }
    }
    }
    }

  • U04571TCJAW
    U04571TCJAW Posts: 13 🧑🏻‍🚀 - Cadet
    Options
    public function getSearchQuery(): Query
    {
        $boolQuery = (new BoolQuery())
            ->addMust(
                new MatchQuery('varchar_attribute', $this->varcharAttribute)
            );
    
        return (new Query())
            ->setQuery($boolQuery);
    }
    
  • Alberto Reyer
    Alberto Reyer Lead Spryker Solution Architect / Technical Director Posts: 690 🪐 - Explorer
    Options

    Spryker add a lot more to the query be default, like the store, that the product has to have a price, etc.

    So if you for example have 3 stores your simple query executed in Postman will find 3x the product as it is exported 3x to elasticsearch but with different store attributes.
    Spryker will set the right store context and only show you products related to your store, when you execute the same search through Spryker.

  • U04571TCJAW
    U04571TCJAW Posts: 13 🧑🏻‍🚀 - Cadet
    Options

    Okay, I understood, but all the data I want to extract is assigned to one store and basically there is no way to differ. I don't know very well what I could add to query to get more than one record