Magento – How to change Magento 2 search from OR logic to AND

catalogsearchfulltextmagento2searchsearch-terms

How do I change magento 2 minisearch logic from OR to AND? Right now if I search for 'Shoe laces', it returns all products with terms either 'shoe' or 'laces'. I need fulltext search, so that only product with full term 'Shoe laces' are returned. How do I achieve this?

Best Answer

I found the solution , create a file search_request.xml in your module's etc folder ,

copy the entire node from vendor/Magento/CatalogSearch/etc/search_request.xml

and change

<queryReference clause="should" ref="search" />

to this

<queryReference clause="must" ref="search" />

do not forget to add sequence in your module file.


in case you installed your module and added after that, just change your module version and run setup:upgrade again , thanks

Related Topic