Я использую 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». Я подозреваю, что это как-то связано со специальными символами (,, Ø и Å). Я пробовал с цветами, которые содержат эти символы, и он каждый раз терпит неудачу.
Какое решение?