Hello Everyone,
Season's Greeings!
I am running Magento 2.3.5p1 with Elasticsearch 7.7 on a Linux Ubuntu and Mysql. I installed elasticsearch and it passed the test on the backend but when used for catalog search on front end it gives error "there are no items matching this criteria"
Here's the exception log:
[2020-12-22 19:22:14] main.CRITICAL: {"error":{"root_cause":[{"type":"x_content_parse_exception","reason":"[1:218] [terms_lookup] unknown field [finset]"}],"type":"x_content_parse_exception","reason":"[1:227] [bool] failed to parse field [must]","caused_by":{"type":"x_content_parse_exception","reason":"[1:218] [terms_lookup] unknown field [finset]"}},"status":400} {"exception":"[object] (Elasticsearch\\Common\\Exceptions\\BadRequest400Exception(code: 400): {\"error\":{\"root_cause\":[{\"type\":\"x_content_parse_exception\",\"reason\":\"[1:218] [terms_lookup] unknown field [finset]\"}],\"type\":\"x_content_parse_exception\",\"reason\":\"[1:227] [bool] failed to parse field [must]\",\"caused_by\":{\"type\":\"x_content_parse_exception\",\"reason\":\"[1:218] [terms_lookup] unknown field [finset]\"}},\"status\":400} at /var/www/html/vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:632)"} []
Thank you for your help in advance.
Did you find any solution?
Same issue on Magento 2.4.2 with ES 7.9....any solution?
Hi, Got Any solution??
Magepow Layered Ajax is the root for this issue.
If we disable that, below error wont appearing in exception.log
main.CRITICAL: {"error":{"root_cause":[{"type":"x_content_parse_exception","reason":"[1:228] [terms_lookup] unknown field [ln_filter]"}],"type":"x_content_parse_exception","reason":"[1:240] [bool] failed to parse field [must]","caused_by":{"type":"x_content_parse_exception","reason":"[1:228] [terms_lookup] unknown field [ln_filter]"}},"status":400} {"exception":"[object] (Elasticsearch\\Common\\Exceptions\\BadRequest400Exception(code: 400): {\"error\":{\"root_cause\":[{\"type\":\"x_content_parse_exception\",\"reason\":\"[1:228] [terms_lookup] unknown field [ln_filter]\"}],\"type\":\"x_content_parse_exception\",\"reason\":\"[1:240] [bool] failed to parse field [must]\",\"caused_by\":{\"type\":\"x_content_parse_exception\",\"reason\":\"[1:228] [terms_lookup] unknown field [ln_filter]\"}},\"status\":400} at /vendor/elasticsearch/elasticsearch/src/Elasticsearch/Connections/Connection.php:632)"} []
Guys the solution is simple, check your website access log.
There are some search engine bots accessing your website for crawling, some are going in depth doing filter products list. This cause error, as bot trying to play with our filter/search system.
(bot like semrush, etc)
This is the reason for exception error log from elasticsearch.
To prevent this, make sure setup proper robots.txt