My client's Craft 2 site includes several templates which use search functions to return a product entry by an ID, like so:
{% set product = craft.entries.section('Product')
.search('externalidentifier::' ~ craft.request.getParam('eid'))
.one() %}
This has been working without issue.
They just upgraded to Craft 3 however, and now these search functions don't work. As a troubleshooting step, it works for me if I manually loop through all entries and grab the matching item as shown here:
{% set eid = craft.request.getParam('eid') %}
{% for prod in craft.entries.section('Product').all() %}
{% if prod.extenralidentifier == eid %}
{% set product = prod %}
{% endif %}
{% endfor %}
...but that only illustrates that the matching entries do exist and should be found with the search function. Any ideas why the search function would stop working after an upgrade to Craft 3?