Re: Phrase search vs. multi-lexeme tokens
От | Tom Lane |
---|---|
Тема | Re: Phrase search vs. multi-lexeme tokens |
Дата | |
Msg-id | 10026.1609953512@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Phrase search vs. multi-lexeme tokens (Alexander Korotkov <aekorotkov@gmail.com>) |
Ответы |
Re: Phrase search vs. multi-lexeme tokens
|
Список | pgsql-hackers |
Alexander Korotkov <aekorotkov@gmail.com> writes: > # select to_tsvector('pg_class foo') @@ websearch_to_tsquery('"pg_class foo"'); > ?column? > ---------- > f Yeah, surely this is wrong. > # select to_tsquery('pg_class <-> foo'); > to_tsquery > ------------------------------ > ( 'pg' & 'class' ) <-> 'foo' > I think if a user writes 'pg_class <-> foo', then it's expected to > match 'pg_class foo' independently on which lexemes 'pg_class' is > split into. Indeed. It seems to me that this: regression=# select to_tsquery('pg_class'); to_tsquery ---------------- 'pg' & 'class' (1 row) is wrong all by itself. Now that we have phrase search, a much saner translation would be "'pg' <-> 'class'". If we fixed that then it seems like the more complex case would just work. I read your patch over quickly and it seems like a reasonable approach (but sadly underdocumented). Can we extend the idea to fix the to_tsquery case? regards, tom lane
В списке pgsql-hackers по дате отправления: