波兰语中的 Solr 排序文本

Solr sorting text in Polish

我有 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"
      }
    ]
  }
}

正如您在第一个位置看到的是第一个字符上带有 " 的短语,我想过滤特殊字符并仅按字母排序(因此该短语将在第一个位置按 'E' 排序)。

有人吗?

我无法直接在 SOLR 中找到解决方案,因此我在索引期间清除了不必要的字符。

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