Postgres не позволить конкатенации векторов таким образом:Postgres - как создать текстовый индекс поиска со взвешенными векторами?
CREATE INDEX pgweb_idx ON pgweb USING
gin(
setweight(to_tsvector('english', title),'A') ||
setweight(to_tsvector('english', body), 'B')
);
дает
ERROR: syntax error at or near "||"
Это позволяет этот синтаксис в выбранном или обновления заявления.
Есть ли способ создать взвешенный полный текстовый индекс без добавления столбца tvector
к таблице?
Как странно. Спасибо, сэр!!! –
Это объясняется на странице [CREATE INDEX] (http://www.postgresql.org/docs/current/static/sql-createindex.html) документов: * Выражение обычно должно быть написано с помощью окружающих круглых скобок, так как показанном в синтаксисе. Тем не менее, круглые скобки могут быть опущены, если выражение имеет форму вызова функции. * (Индекс на основе выражения нуждается в скобках, обычный столбец не нужен) – pozs
@pozs Oh ... Да, возможно, должно быть проверили эту страницу. Спасибо. –