Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как заставить gin индекс брать триграммы не на основе дефолтного collation базы?
|
|||
|---|---|---|---|
|
#18+
В базе данных все таблицы изначально были установлены в порядке сортировки: LC_COLLATE=C и LC_CTYPE = C. Оказалось, что из-за этого поиск игрока по нику не работает для кириллицы. Поэтому я решил изменить правила сортировки для отдельной колонки с ником: Код: sql 1. 2. 3. Далее я хотел сделать быстрый поиск игрока по нику с помощью индексов триграмм и создал gin индекс: Код: sql 1. 2. После этого поиск по нику значительно ускорился на латинице , и в плане запроса видно, что используется gin индекс. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Но тот же запрос не работает с кириллицей ... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Я также попытался установить collation для gin индекса, но ничего не изменилось. Скажите, как заставить gin индекс брать триграммы, не основанные на стандартной сортировке базы? Есть ли какой-нибудь способ избежать перестройки кластера в этой ситуации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2021, 22:08 |
|
||
|
Как заставить gin индекс брать триграммы не на основе дефолтного collation базы?
|
|||
|---|---|---|---|
|
#18+
Евгений Калинин, а если указать collation и для поля в индексе и для самой поисковой строки в запросе - так не подхватит индекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2021, 10:56 |
|
||
|
Как заставить gin индекс брать триграммы не на основе дефолтного collation базы?
|
|||
|---|---|---|---|
|
#18+
Создал новый индекс, дропнув старый: Код: sql 1. 2. Попробовал: Код: sql 1. 2. 3. Без изменений: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2021, 11:45 |
|
||
|
Как заставить gin индекс брать триграммы не на основе дефолтного collation базы?
|
|||
|---|---|---|---|
|
#18+
Так же заметил, что русский текст не разбивается на триграммы: Код: sql 1. 2. Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2021, 12:06 |
|
||
|
Как заставить gin индекс брать триграммы не на основе дефолтного collation базы?
|
|||
|---|---|---|---|
|
#18+
Евгений Калинин Так же заметил, что русский текст не разбивается на триграммы: Код: sql 1. 2. Код: sql 1. 2. В общем не вылечите вы это без пересоздания базы с нормальными LC_COLLATE/LC_CTYPE во всяком случае штатными методами. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2021, 12:59 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=13&tid=1994104]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 401ms |

| 0 / 0 |
