Solr JavaScript-преобразователи и специальные символы (æ, ø и å) - PullRequest
1 голос
/ 12 марта 2010

Я использую Solr 1.4 с веб-сервером Jetty . У меня есть преобразователь, написанный на JavaScript в моем файле data-config.xml, который выглядит следующим образом:

    <script><![CDATA[
        function transform(row) {

            var itemColor = row.get('ItemColor');

            if (itemColor == 'SORT' || itemColor == 'BLACK') {
                row.put('ItemColor', 'Sort');
            }

            else if (itemColor == 'RØD' || itemColor == 'RED') {
                row.put('ItemColor', 'Rød');
        }

        return row;
    }
    ]]></script>

По сути, я пытаюсь заменить «RØD» и «RED» на «Rød», а «SORT» и «BLACK» на «Sort», прежде чем добавить itemColor в индекс Solr. («SORT» - черный, а «RØD» - красный на датском).

Но по какой-то причине часть else-if никогда не выполняется, хотя itemColor имеет значение 'RØD'. Нет проблем с обновлением itemColor, когда значение равно «SORT» или «BLACK». Я подозреваю, что это как-то связано со специальными символами (,, Ø и Å). Я пробовал с цветами, которые содержат эти символы, и он каждый раз терпит неудачу.

Какое решение?

...