|
|
|
Собрать строку из tsvector
|
|||
|---|---|---|---|
|
#18+
Приветствую. Моя задача - нормализовать текст, т.е. применить тезаурус для замены некоторых словосочетаний, потом убрать знаки препинания и незначующие слова, потом применить один или несколько словарей синонимов. Сухой остаток надо сохранить, индексировать не нужно. Понятно, от лени решил использовать FTS. Получаю tsvector и... как строку-то обратно собрать? Можно, конечно, кастовать tsvector в строку, а дальше регулярными выражениями, но как-то уж совсем уродливо. Я нечего очевидного не упускаю? Есть ли в Postgresql фукция, конвертирующая tsvector с позиционными данными в varchar? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 00:32:09 |
|
||
|
Собрать строку из tsvector
|
|||
|---|---|---|---|
|
#18+
Sergei.Agalakov, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 04:27:36 |
|
||
|
Собрать строку из tsvector
|
|||
|---|---|---|---|
|
#18+
Действительно, и из лексем собрать... Как же я сам-то проглядел? Спасибо, это пока единственный более-менее разумный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 18:41:28 |
|
||
|
Собрать строку из tsvector
|
|||
|---|---|---|---|
|
#18+
Sergei.Agalakov, попробуйте это: Код: plsql 1. возможно, мысль использовать tsearch не по назначению вас покинет. Все-таки, у него в основе стеммер (выделитель основ) от проверки орфографии: для поиска в большинстве случаев вполне пригоден, для сложной обработки — явно нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 19:54:15 |
|
||
|
Собрать строку из tsvector
|
|||
|---|---|---|---|
|
#18+
А зачем мне стеммер? Код: sql 1. Не вижу проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2014, 21:20:57 |
|
||
|
Собрать строку из tsvector
|
|||
|---|---|---|---|
|
#18+
А вот-таки случился облом. Клятый ts_debug не работает с тезаурасами. С синонимами работало. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. То есть если бы я мог собрать строку из tsvectora, то тезаурусные замещения сработали бы правильно, а колонка лексем из ts_debug выдает какую-то чушь. В документации 9.3 в главе 12.8.3 упоминается, что to_lexize не работает с тезаурасами. Видимо поэтому и ts_debug дурит. Вот не хочется свой велосипед изобретать, а видно придется самому повторять все то, что уже есть в FTS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2014, 22:49:37 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38586870&tid=1998628]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
299ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 566ms |

| 0 / 0 |
