Price filter returns wrong results - Price is stored as 0 instead of null and is set to special_priceMagento 2: How to show Prices for OUT of stock productsPrice removal from Product Page with .xml or .php OR stop GOOGLE indexing itMagento 2 CE and ElasticSearch integrationMagento 2 Commerce Enable Elastic SearchDo I need a production database to run integration tests?Newsletter observer for Magento 2.2.2Change order price display incl. tax and excl. taxMagento 2 Install error: “There is no such engine:”Catalog Price Rules not being appliedElasticsearch Error - call_user_func_array() expects parameter 1 to be a valid callback

Rock identification in KY

What does "Puller Prush Person" mean?

Alternative to sending password over mail?

Replacing matching entries in one column of a file by another column from a different file

Does object always see its latest internal state irrespective of thread?

Why are electrically insulating heatsinks so rare? Is it just cost?

High voltage LED indicator 40-1000 VDC without additional power supply

Arrow those variables!

Can you really stack all of this on an Opportunity Attack?

What typically incentivizes a professor to change jobs to a lower ranking university?

Was any UN Security Council vote triple-vetoed?

A case of the sniffles

Is it inappropriate for a student to attend their mentor's dissertation defense?

Does detail obscure or enhance action?

What's the point of deactivating Num Lock on login screens?

Two films in a tank, only one comes out with a development error – why?

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

I'm flying to France today and my passport expires in less than 2 months

Approximately how much travel time was saved by the opening of the Suez Canal in 1869?

Paid for article while in US on F-1 visa?

How to format long polynomial?

Cross compiling for RPi - error while loading shared libraries

Is it possible to run Internet Explorer on OS X El Capitan?

Watching something be written to a file live with tail



Price filter returns wrong results - Price is stored as 0 instead of null and is set to special_price


Magento 2: How to show Prices for OUT of stock productsPrice removal from Product Page with .xml or .php OR stop GOOGLE indexing itMagento 2 CE and ElasticSearch integrationMagento 2 Commerce Enable Elastic SearchDo I need a production database to run integration tests?Newsletter observer for Magento 2.2.2Change order price display incl. tax and excl. taxMagento 2 Install error: “There is no such engine:”Catalog Price Rules not being appliedElasticsearch Error - call_user_func_array() expects parameter 1 to be a valid callback






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















We have a problem with our price filter. We are using magento 2.2.6 and Smile-SA/elasticsuite 2.6.x-dev.



When I go to a category and set a price range filter 0-0,99 I get results with a higher price. The URL looks like: /baelle/?price=0-1 Categories with filter example
When I query the ElasticSearch manually for one of the given SKUs the price looks always as the following for all customer groups:



price: [

price: "0.0000",
original_price: "79.9500",
is_discount: true,
customer_group_id: "0"

],


In the backend the product is configured with a price of 79.95 and no advanced pricing. In the catalog__product_index_price table it's stored like this:catalog_products_index_price



But when I set special_price in the backend the price in ElasticSearch changes to the according special_price. Similar to the entries in catalog_product_index_price it looks now like this:catalog_product_index_price with special price



All of this happens to configurable and simple products alike and we have no idea where or what the problem could be.



Any ideas why the price filter is not working as expected?



Update



I figured out we have some products where the indexer is working as expected but for the majority it is not. CatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()
Is not beeing called either way.



I executed php bin/magento dev:tests:run unit to see if maybe an test for the indexer is failing but only one test failed and it has nothing to do with the indexer.



I tried to find a pattern which products are working as expected and which don't but I had no luck with it.



Update 2



I started to disable all third party modules. After disabling all, clearing all caches and executing bin/magento setup:di:compile there is still no difference.



Update 3



I have tried to run the dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Price integrations tests in order to figure out some more details but the tests fail straight away with the following error:




Error in fixture: "dev/tests/integration/testsuite/Magento/Catalog/_files/product_simple.php".
Unable to save Stock Item




Could this error lead into a wrong index?










share|improve this question
























  • Not sure if it is a Magento core bug or ElasticSuite is assuming a behaviour that is not true for Magento

    – Alex
    Oct 19 '18 at 9:32

















4















We have a problem with our price filter. We are using magento 2.2.6 and Smile-SA/elasticsuite 2.6.x-dev.



When I go to a category and set a price range filter 0-0,99 I get results with a higher price. The URL looks like: /baelle/?price=0-1 Categories with filter example
When I query the ElasticSearch manually for one of the given SKUs the price looks always as the following for all customer groups:



price: [

price: "0.0000",
original_price: "79.9500",
is_discount: true,
customer_group_id: "0"

],


In the backend the product is configured with a price of 79.95 and no advanced pricing. In the catalog__product_index_price table it's stored like this:catalog_products_index_price



But when I set special_price in the backend the price in ElasticSearch changes to the according special_price. Similar to the entries in catalog_product_index_price it looks now like this:catalog_product_index_price with special price



All of this happens to configurable and simple products alike and we have no idea where or what the problem could be.



Any ideas why the price filter is not working as expected?



Update



I figured out we have some products where the indexer is working as expected but for the majority it is not. CatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()
Is not beeing called either way.



I executed php bin/magento dev:tests:run unit to see if maybe an test for the indexer is failing but only one test failed and it has nothing to do with the indexer.



I tried to find a pattern which products are working as expected and which don't but I had no luck with it.



Update 2



I started to disable all third party modules. After disabling all, clearing all caches and executing bin/magento setup:di:compile there is still no difference.



Update 3



I have tried to run the dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Price integrations tests in order to figure out some more details but the tests fail straight away with the following error:




Error in fixture: "dev/tests/integration/testsuite/Magento/Catalog/_files/product_simple.php".
Unable to save Stock Item




Could this error lead into a wrong index?










share|improve this question
























  • Not sure if it is a Magento core bug or ElasticSuite is assuming a behaviour that is not true for Magento

    – Alex
    Oct 19 '18 at 9:32













4












4








4


1






We have a problem with our price filter. We are using magento 2.2.6 and Smile-SA/elasticsuite 2.6.x-dev.



When I go to a category and set a price range filter 0-0,99 I get results with a higher price. The URL looks like: /baelle/?price=0-1 Categories with filter example
When I query the ElasticSearch manually for one of the given SKUs the price looks always as the following for all customer groups:



price: [

price: "0.0000",
original_price: "79.9500",
is_discount: true,
customer_group_id: "0"

],


In the backend the product is configured with a price of 79.95 and no advanced pricing. In the catalog__product_index_price table it's stored like this:catalog_products_index_price



But when I set special_price in the backend the price in ElasticSearch changes to the according special_price. Similar to the entries in catalog_product_index_price it looks now like this:catalog_product_index_price with special price



All of this happens to configurable and simple products alike and we have no idea where or what the problem could be.



Any ideas why the price filter is not working as expected?



Update



I figured out we have some products where the indexer is working as expected but for the majority it is not. CatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()
Is not beeing called either way.



I executed php bin/magento dev:tests:run unit to see if maybe an test for the indexer is failing but only one test failed and it has nothing to do with the indexer.



I tried to find a pattern which products are working as expected and which don't but I had no luck with it.



Update 2



I started to disable all third party modules. After disabling all, clearing all caches and executing bin/magento setup:di:compile there is still no difference.



Update 3



I have tried to run the dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Price integrations tests in order to figure out some more details but the tests fail straight away with the following error:




Error in fixture: "dev/tests/integration/testsuite/Magento/Catalog/_files/product_simple.php".
Unable to save Stock Item




Could this error lead into a wrong index?










share|improve this question
















We have a problem with our price filter. We are using magento 2.2.6 and Smile-SA/elasticsuite 2.6.x-dev.



When I go to a category and set a price range filter 0-0,99 I get results with a higher price. The URL looks like: /baelle/?price=0-1 Categories with filter example
When I query the ElasticSearch manually for one of the given SKUs the price looks always as the following for all customer groups:



price: [

price: "0.0000",
original_price: "79.9500",
is_discount: true,
customer_group_id: "0"

],


In the backend the product is configured with a price of 79.95 and no advanced pricing. In the catalog__product_index_price table it's stored like this:catalog_products_index_price



But when I set special_price in the backend the price in ElasticSearch changes to the according special_price. Similar to the entries in catalog_product_index_price it looks now like this:catalog_product_index_price with special price



All of this happens to configurable and simple products alike and we have no idea where or what the problem could be.



Any ideas why the price filter is not working as expected?



Update



I figured out we have some products where the indexer is working as expected but for the majority it is not. CatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()
Is not beeing called either way.



I executed php bin/magento dev:tests:run unit to see if maybe an test for the indexer is failing but only one test failed and it has nothing to do with the indexer.



I tried to find a pattern which products are working as expected and which don't but I had no luck with it.



Update 2



I started to disable all third party modules. After disabling all, clearing all caches and executing bin/magento setup:di:compile there is still no difference.



Update 3



I have tried to run the dev/tests/integration/testsuite/Magento/Catalog/Model/Indexer/Product/Price integrations tests in order to figure out some more details but the tests fail straight away with the following error:




Error in fixture: "dev/tests/integration/testsuite/Magento/Catalog/_files/product_simple.php".
Unable to save Stock Item




Could this error lead into a wrong index?







magento2.2 product-prices elasticsearch catalog-product-price-index






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 16 '18 at 14:28







Daniel

















asked Oct 19 '18 at 8:41









DanielDaniel

199213




199213












  • Not sure if it is a Magento core bug or ElasticSuite is assuming a behaviour that is not true for Magento

    – Alex
    Oct 19 '18 at 9:32

















  • Not sure if it is a Magento core bug or ElasticSuite is assuming a behaviour that is not true for Magento

    – Alex
    Oct 19 '18 at 9:32
















Not sure if it is a Magento core bug or ElasticSuite is assuming a behaviour that is not true for Magento

– Alex
Oct 19 '18 at 9:32





Not sure if it is a Magento core bug or ElasticSuite is assuming a behaviour that is not true for Magento

– Alex
Oct 19 '18 at 9:32










2 Answers
2






active

oldest

votes


















2














It definitely looks like the price indexer is not working properly. I've checked it on Magento 2.2.6 vanilla and final_price, min_price and max_price have the same value as the price column.



The moment I change the price in admin all the values are changed (indexer set to on save). Maybe some extension is messing the indexer?



Without access to the code is hard to say but I would suggest to start debugging from



MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()


function - it is a function that prepares the final price data for certain product type. In this function you can find a call to getSelect() which generates an sql query for getting the data. Check if this function is called, maybe some extension is overriding it. If it's called check the data that the query gets. Good luck!






share|improve this answer

























  • this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

    – Daniel
    Oct 23 '18 at 7:12











  • i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

    – Daniel
    Oct 23 '18 at 7:35











  • the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

    – Sebastian
    Oct 23 '18 at 7:52











  • And the last option, you can disable 3rd party modules and check when it starts to work ;)

    – Sebastian
    Oct 23 '18 at 7:52











  • I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

    – Daniel
    Oct 24 '18 at 15:50


















0














The problem here was about the catalog_product_price index being built wrong. If a product has special_from_date set but no special_price set the indexer will set the final_price, min_price and max_price to 0.0000.

This behavior corrupts the prices for configurable products and the elasticsearch index alike.



To fix it make sure if no special_price is set there is not set a special_from_date either.

Or apply this commit as patch. Or update Magento to 2.2.8 or 3.0.






share|improve this answer

























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "479"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f247097%2fprice-filter-returns-wrong-results-price-is-stored-as-0-instead-of-null-and-is%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    It definitely looks like the price indexer is not working properly. I've checked it on Magento 2.2.6 vanilla and final_price, min_price and max_price have the same value as the price column.



    The moment I change the price in admin all the values are changed (indexer set to on save). Maybe some extension is messing the indexer?



    Without access to the code is hard to say but I would suggest to start debugging from



    MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()


    function - it is a function that prepares the final price data for certain product type. In this function you can find a call to getSelect() which generates an sql query for getting the data. Check if this function is called, maybe some extension is overriding it. If it's called check the data that the query gets. Good luck!






    share|improve this answer

























    • this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

      – Daniel
      Oct 23 '18 at 7:12











    • i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

      – Daniel
      Oct 23 '18 at 7:35











    • the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

      – Sebastian
      Oct 23 '18 at 7:52











    • And the last option, you can disable 3rd party modules and check when it starts to work ;)

      – Sebastian
      Oct 23 '18 at 7:52











    • I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

      – Daniel
      Oct 24 '18 at 15:50















    2














    It definitely looks like the price indexer is not working properly. I've checked it on Magento 2.2.6 vanilla and final_price, min_price and max_price have the same value as the price column.



    The moment I change the price in admin all the values are changed (indexer set to on save). Maybe some extension is messing the indexer?



    Without access to the code is hard to say but I would suggest to start debugging from



    MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()


    function - it is a function that prepares the final price data for certain product type. In this function you can find a call to getSelect() which generates an sql query for getting the data. Check if this function is called, maybe some extension is overriding it. If it's called check the data that the query gets. Good luck!






    share|improve this answer

























    • this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

      – Daniel
      Oct 23 '18 at 7:12











    • i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

      – Daniel
      Oct 23 '18 at 7:35











    • the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

      – Sebastian
      Oct 23 '18 at 7:52











    • And the last option, you can disable 3rd party modules and check when it starts to work ;)

      – Sebastian
      Oct 23 '18 at 7:52











    • I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

      – Daniel
      Oct 24 '18 at 15:50













    2












    2








    2







    It definitely looks like the price indexer is not working properly. I've checked it on Magento 2.2.6 vanilla and final_price, min_price and max_price have the same value as the price column.



    The moment I change the price in admin all the values are changed (indexer set to on save). Maybe some extension is messing the indexer?



    Without access to the code is hard to say but I would suggest to start debugging from



    MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()


    function - it is a function that prepares the final price data for certain product type. In this function you can find a call to getSelect() which generates an sql query for getting the data. Check if this function is called, maybe some extension is overriding it. If it's called check the data that the query gets. Good luck!






    share|improve this answer















    It definitely looks like the price indexer is not working properly. I've checked it on Magento 2.2.6 vanilla and final_price, min_price and max_price have the same value as the price column.



    The moment I change the price in admin all the values are changed (indexer set to on save). Maybe some extension is messing the indexer?



    Without access to the code is hard to say but I would suggest to start debugging from



    MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice::prepareFinalPriceDataForType()


    function - it is a function that prepares the final price data for certain product type. In this function you can find a call to getSelect() which generates an sql query for getting the data. Check if this function is called, maybe some extension is overriding it. If it's called check the data that the query gets. Good luck!







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 27 '18 at 17:19









    Kirti Nariya

    1,085415




    1,085415










    answered Oct 19 '18 at 22:13









    SebastianSebastian

    1687




    1687












    • this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

      – Daniel
      Oct 23 '18 at 7:12











    • i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

      – Daniel
      Oct 23 '18 at 7:35











    • the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

      – Sebastian
      Oct 23 '18 at 7:52











    • And the last option, you can disable 3rd party modules and check when it starts to work ;)

      – Sebastian
      Oct 23 '18 at 7:52











    • I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

      – Daniel
      Oct 24 '18 at 15:50

















    • this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

      – Daniel
      Oct 23 '18 at 7:12











    • i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

      – Daniel
      Oct 23 '18 at 7:35











    • the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

      – Sebastian
      Oct 23 '18 at 7:52











    • And the last option, you can disable 3rd party modules and check when it starts to work ;)

      – Sebastian
      Oct 23 '18 at 7:52











    • I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

      – Daniel
      Oct 24 '18 at 15:50
















    this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

    – Daniel
    Oct 23 '18 at 7:12





    this function is not even called in my case i compared with a vanilla and it is called. Any idea to figure out what is overriding this method?

    – Daniel
    Oct 23 '18 at 7:12













    i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

    – Daniel
    Oct 23 '18 at 7:35





    i ran php bin/magento dev:tests:run unit in order to see if an indexer test fails but they all worked

    – Daniel
    Oct 23 '18 at 7:35













    the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

    – Sebastian
    Oct 23 '18 at 7:52





    the question is, is this particular class overrided or maybe some other. You can search with you IDE for a phrase MagentoCatalogModelResourceModelProductIndexerPriceDefaultPrice and check is there any reference of it in some 3rd party modules di.xml files. If no, you can check MagentoCatalogModelIndexerProductPriceActionFull::execute - this is the function that is runned when you launch price indexer from CLI. This function uses _defaultIndexerResource var which in vanilla is the defaultprice class. Check what class it uses.

    – Sebastian
    Oct 23 '18 at 7:52













    And the last option, you can disable 3rd party modules and check when it starts to work ;)

    – Sebastian
    Oct 23 '18 at 7:52





    And the last option, you can disable 3rd party modules and check when it starts to work ;)

    – Sebastian
    Oct 23 '18 at 7:52













    I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

    – Daniel
    Oct 24 '18 at 15:50





    I updated the question again. I did disabled all third party modules and still have the same issue that really confusing.

    – Daniel
    Oct 24 '18 at 15:50













    0














    The problem here was about the catalog_product_price index being built wrong. If a product has special_from_date set but no special_price set the indexer will set the final_price, min_price and max_price to 0.0000.

    This behavior corrupts the prices for configurable products and the elasticsearch index alike.



    To fix it make sure if no special_price is set there is not set a special_from_date either.

    Or apply this commit as patch. Or update Magento to 2.2.8 or 3.0.






    share|improve this answer





























      0














      The problem here was about the catalog_product_price index being built wrong. If a product has special_from_date set but no special_price set the indexer will set the final_price, min_price and max_price to 0.0000.

      This behavior corrupts the prices for configurable products and the elasticsearch index alike.



      To fix it make sure if no special_price is set there is not set a special_from_date either.

      Or apply this commit as patch. Or update Magento to 2.2.8 or 3.0.






      share|improve this answer



























        0












        0








        0







        The problem here was about the catalog_product_price index being built wrong. If a product has special_from_date set but no special_price set the indexer will set the final_price, min_price and max_price to 0.0000.

        This behavior corrupts the prices for configurable products and the elasticsearch index alike.



        To fix it make sure if no special_price is set there is not set a special_from_date either.

        Or apply this commit as patch. Or update Magento to 2.2.8 or 3.0.






        share|improve this answer















        The problem here was about the catalog_product_price index being built wrong. If a product has special_from_date set but no special_price set the indexer will set the final_price, min_price and max_price to 0.0000.

        This behavior corrupts the prices for configurable products and the elasticsearch index alike.



        To fix it make sure if no special_price is set there is not set a special_from_date either.

        Or apply this commit as patch. Or update Magento to 2.2.8 or 3.0.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited yesterday

























        answered Mar 28 at 14:59









        DanielDaniel

        199213




        199213



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Magento Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f247097%2fprice-filter-returns-wrong-results-price-is-stored-as-0-instead-of-null-and-is%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Grendel Contents Story Scholarship Depictions Notes References Navigation menu10.1093/notesj/gjn112Berserkeree

            Area configuration aggregation error after install Porto themeMagento 2.1 CE Installed but front/backend not loading/workingCSS not loading on page within Magento 2 pageCannot install module in Magento 2no commands defined in the “setup” namespace. in Magento2Magento 2: Static files are present but shows 404Why do i have to always run the commands to clean cache in Magento 2.1.8?Failure reason: 'Unable to unserialize value.'Error 500 after magento migrationIn production mode the site does not loadMagento 2 : Error 500 after installing

            Middle Expansion Olielle Resaix Definition: Uttering songs of triumph shouting with joy triumphant exulting Sejunction Journal 붙다 달 고급 품목 외출 The stretch trades the screeching tin. Definition: The act of speaking with a drawl a drawl Cough Sand Definition: An uproar a quarrel a noisy outbreak Shake Iron Publicize Horse House Baby 사과 Resaix Flaggy Jelly Temporary Unequaled Puppet A drop in the bucket Shrew 성격 회원 성질 미팅 The burn frames the tacky quality. Materialistic The smoke reduces the way. Yammoe Nondescript Cheek 얼굴 배 약하다 날리다 타다 The illegal country shows the iron. Help Rule Drearien Smoke Teaching Meaty Wasp Abraham Lincoln Jaws 진심 수리하다 Size Cork Idea Convert Think Lark John Lennon 거울 청소 군 추천하다 아이스크림