2

We have a site where some entry titles are company names including a German umlaut. When we perform a search using Low Search and type in the name 'without' the umlaut (as you would be most likely to do if you have a english language keyboard) then no results are returned.

However when performing the same search from 'within' the ExpressionEngine control panel channel entries listing screen searching without the umlaut does return results.

Is there some fundamental difference between how internal entry searches are performed in EE and how Low Search works and is there any workaround we can implement to enable the return of results when we do perform a search on the front end minus the umlaut?

4

Keyword searches with Low Search are diacritic insensitive. That is to say, both the collection index and given search terms go through an algorithm to strip them out or replace them with unaccented equivalents. LS uses EE's native $foreign_characters array for this, located in /system/expressionengine/config/foreign_chars.php.

For example, take the word München. LS will change this, using the foreign_chars map, to muenchen. That means if you use the search term "münchen", LS will transform the search term to "muenchen" too. However, if you search for "munchen", LS will not change the terms since that doesn't contain diacritics.

So, it's best to change the values in the foreign_chars.php file to suit your needs. You'll need to update your indexes if you do.

| improve this answer | |
  • As ever with your add-ons you've gone the extra mile. Thanks so much for the detailed response Low. :) – Nathan Pitman Oct 15 '14 at 8:43
  • One query... I guess in reality German speaking users might search for the spelling with the umlaut and also the transformed version 'muenchen' too, but non German speaking users will more likely just search for Munchen. It feels like it should also be indexed with that spelling to cover all bases? I'm guessing that to achieve this I need to do some 'post save' processing to strip foreign characters from a title (in this case) and save that to a search keywords custom field? – Nathan Pitman Oct 15 '14 at 8:46
  • Yep, this is synonym territory, so your best bet is a dedicated custom field for alternative spellings. Whether you automate that or manually do it, is up to you. – Low Oct 15 '14 at 8:51
  • I've modified the foreign_chars.php file as suggested for now, I'm sure that will suffice. Thanks again for your help with this. :) – Nathan Pitman Oct 15 '14 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.