|
|
|
Полнотекстовый поиск. Синонимы или другие словари.
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть таблица и строка: Код: sql 1. 2. 3. 4. 5. 6. 7. Пытаюсь поискать по ней таким запросом: Код: sql 1. Безуспешно, т.к. 'holly' в запросе преобразуется в 'holli'. Что немного странно, т.к. существует самостоятельное слово 'holly', а слова 'holli' вроде как нет. Код: sql 1. aliasdescriptiontokendictionariesdictionarylexemesasciiwordWord; all ASCIIholly{english_stem}english_stem{holli} Что можно сделать, чтобы по holly все-таки находился hollywood? Ну и сразу решить большинство подобных кейсов для других слов. Или это невозможно сделать в общем случае? Я почитал в документации про список синонимов и кастомные словари для конкретного языка. Возможно, где-то есть словари и списки богаче, чем в дефолтной поставке? Встречал упоминание ispell, но пока не использовал его. Все параметры текстового поиска заданы по умолчанию. Использую PostgreSQL 9.4.3 Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 11:36 |
|
||
|
Полнотекстовый поиск. Синонимы или другие словари.
|
|||
|---|---|---|---|
|
#18+
Alexander8, там все просто, используйте темплейт словаря синонимов для своего словаря mysyn. Просто создайте файл с одной строчкой holly hollywood и поставьте этот словарь mysyn первым. Где-то здесь http://www.sai.msu.su/~megera/postgres/talks/ есть слайды про полнотекстовый поиск, если чтение документации не помогает. Олег ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 10:21 |
|
||
|
Полнотекстовый поиск. Синонимы или другие словари.
|
|||
|---|---|---|---|
|
#18+
Oleg Bartunov, спасибо за ответ. В принципе, я читал про такое решение и могу его использовать. Смущает то, что таким образом я решаю один конкретный кейс для одного слова. Это не очень эффективно. Например, для bollywood и bolly:* снова получим эту же проблему. Может быть где-то существуют обширные словари синонимов в общем доступе? Хотя бы для английского языка. Или с точки зрения пользователя это не критичная проблема, можно набрать еще одну букву и все найти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 13:17 |
|
||
|
Полнотекстовый поиск. Синонимы или другие словари.
|
|||
|---|---|---|---|
|
#18+
Раньше времени отправил предыдущее сообщение. Alexander8 Или с точки зрения пользователя это не критичная проблема, можно набрать или убрать еще одну букву и все найти. hollywood: holl:* -> найдено holly:* -> не найдено hollyw:* -> найдено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 13:20 |
|
||
|
Полнотекстовый поиск. Синонимы или другие словари.
|
|||
|---|---|---|---|
|
#18+
Alexander8, вот, что происходит: Код: sql 1. 2. 3. 4. 5. Задумался, может не стоит префикс процессит совсем, скажем, выделить отдельный токен prefix и по-умолчанию не обрабатывать никакими словарями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=53&gotonew=1&tid=1997878]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
164ms |
get topic data: |
7ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 472ms |

| 0 / 0 |
