Solr сортирует текст на польском языке

У меня есть solr 5.2.1 и такое определение поля, которое используется для сортировки:

<fieldType name="polishSortVarchar" class="solr.ICUCollationField" locale="pl_PL" strength="secondary" />

После переиндексации сортировка почти работает так, как я хочу:

{
  "responseHeader": {
    "status": 0,
    "QTime": 2,
    "params": {
      "fl": "name_varchar",
      "sort": "sort_name_varchar asc",
      "indent": "true",
      "q": "*:*",
      "_": "1454575147254",
      "wt": "json",
      "rows": "10"
    }
  },
  "response": {
    "numFound": 5250,
    "start": 0,
    "docs": [
      {
        "name_varchar": "\"Europą\" na Antarktydę"
      },
      {
        "name_varchar": "1:0 dla Korniszonka"
      },
      {
        "name_varchar": "1001 faktów o roślinach"
      }
    ]
  }
}

Как вы видите, на первой позиции находится фраза с " на 1-м символе, я хочу фильтровать специальные символы и сортировать только по буквам (так что эта фраза будет отсортирована по букве "E" на первой позиции).

Кто-нибудь?


person kuba_ceg    schedule 04.02.2016    source источник
comment
Я решаю проблему обходным путем... Я очищаю ненужные символы во время индексации :)   -  person kuba_ceg    schedule 07.02.2016


Ответы (1)


Я не могу найти решение непосредственно в SOLR, поэтому я очищаю ненужные символы во время индексации.

$sortValue = preg_replace('/[^A-Za-z0-9- zżźćńółęąśŻŹĆĄŚĘŁÓŃ]/u', '', $sortValue);
person kuba_ceg    schedule 22.02.2016