Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
есть исходная строка 'aa bb cc aa xx' есть построенный по ней вектор 'aa':1,4 'bb':2 'cc':3 'xx':5 как получить такую выборку: 'aa' 'bb' 'cc' 'xx' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 13:14 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
не совсем понятна цель процедуры зачем делать из строки tsvector? зачем нужен record set? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 14:47 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
izне совсем понятна цель процедуры зачем делать из строки tsvector? зачем нужен record set? Для полнотекстового поиска я строю тсвектор. Я хочу для таблицы создать вспомогательную таблицу, которая будет содержать уникальные слова из основной. Потому из вектоора хочу выдернуть слова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 14:51 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
дошел до такого: SELECT strip(to_tsvector((parse('aa bb cc xx cc')).token)) в результате правда идут все пробелы и повторяющиеся слова, но хоть так.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 14:55 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
из parse() можно делать выборку по определенному tokid, очевидно, чтобы исключить пробелы. для уникальных слов можно сделать distinct. но все это жуткий misdesign, полнотекстовый поиск не предназначен для такого, понятное дело. я бы делал эту задачу каким-нибудь другим способом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 15:06 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
izиз parse() можно делать выборку по определенному tokid, очевидно, чтобы исключить пробелы. для уникальных слов можно сделать distinct. но все это жуткий misdesign, полнотекстовый поиск не предназначен для такого, понятное дело. я бы делал эту задачу каким-нибудь другим способом. вполне может быть мисдизайн...., но каким другим? вот такой запрос будет выбирать все уникальные слова select distinct * from (SELECT strip(to_tsvector((parse(xpath)).token)) from xprop ) as t; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 15:09 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
как можно token id использовать для выбрасывания пробелов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 15:14 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
сходу не могу вспомнить, есть ли функция "показать токены данного парсера" в 8.2 (в 8.3 точно есть), но анализ запроса вроде такого: test=# select * from parse('aaa bbb adsada-adasd, !$# &'); tokid | token -------+-------------- 1 | aaa 12 | 1 | bbb 12 | 2 | 12 | 16 | adsada-adasd 11 | adsada 12 | - 11 | adasd 12 | , !$# 12 | & (12 rows) показывает, что вам нужно выбрасывать tokid = 12. Еще, кстати, в tsearch2 есть функции для анализа состояния GiST индекса -- в частности, можно узнать количество уникальных токенов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:07 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
сорри, при копипасте из psql побились русские буквы, так что пропали токены nlword ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:08 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
кстати, в tsvector уже сидят формы слов обработанные и пригодные для поиска или просто выделенные из текста лексемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 17:43 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
это вам нужно документацию хорошенько и с самого начала почитать test=# select to_tsvector('utf8_russian', 'преклонился'); to_tsvector ------------------ 'преклониться':1 (1 row) tsvector содержит, разумеется, нормализованные в соотв-ии с заданным словарем лексемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 18:14 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
izэто вам нужно документацию хорошенько и с самого начала почитать test=# select to_tsvector('utf8_russian', 'преклонился'); to_tsvector ------------------ 'преклониться':1 (1 row) tsvector содержит, разумеется, нормализованные в соотв-ии с заданным словарем лексемы. Именно оно. Потому я и хотел взять слова из вектора....Но не пойму как их оттуда вытащить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 18:45 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
Winnipuh izэто вам нужно документацию хорошенько и с самого начала почитать test=# select to_tsvector('utf8_russian', 'преклонился'); to_tsvector ------------------ 'преклониться':1 (1 row) tsvector содержит, разумеется, нормализованные в соотв-ии с заданным словарем лексемы. Именно оно. Потому я и хотел взять слова из вектора....Но не пойму как их оттуда вытащить. у меня кстати результат такой ------------------------------- 'преклон':1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 18:49 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
это stemming у вас плохо настроен tsearch2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 19:37 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
izэто stemming у вас плохо настроен tsearch2 плохо на русский язык или вообще? Русский пока мне не нужен, надо хотя бы с английским разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 19:39 |
|
||
|
tsvector -> получить список строк
|
|||
|---|---|---|---|
|
#18+
судя по приведенному вами примеру, русский настроен плохо о других языках судить не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2007, 19:50 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34779064&tid=2005062]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 385ms |

| 0 / 0 |
