Question

main.CRITICAL: {
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [shape] in order to load field data by uninverting the inverted index. Note that this can use significant memory."
      }
    ],
    "type": "search_phase_execution_exception",
    "reason": "all shards
Was it helpful?

Solution

For this you need to change into database set only is_filterable_in_search to 0

This is old code

SELECT *
FROM catalog_eav_attribute cea
JOIN eav_attribute ea
ON ea.attribute_id = cea.attribute_id 
AND backend_type IN ('text')
WHERE 
cea.is_filterable = 1 OR cea.is_filterable_in_search = 1

Replace with below one code with your prefix like.

UPDATE **prefix_**catalog_eav_attribute cea 
JOIN **prefix_**eav_attribute ea
ON ea.attribute_id = cea.attribute_id
AND backend_type in ('text')
SET 
cea.is_filterable = 0, cea.is_filterable_in_search = 0
WHERE 
cea.is_filterable = 1 OR cea.is_filterable_in_search = 1

Now after that just do reindex and cache

magento indexer:reindex
magento cache:clean
magento cache:flush

That's it..

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top