Полнотекстовый индекс в PostgreSQL (не «английский» или «простой»)? - PullRequest
0 голосов
/ 10 декабря 2010

Мне нужно хранить несколько сотен тысяч HTML-документов в базе данных и иметь возможность их поиска. Но не только для контента - мне нужно, чтобы поиски соответствовали именам классов, именам скриптов и значениям идентификаторов (среди прочего), которые могут отображаться как атрибуты в тегах HTML в документах. Я попытался использовать to_tsvector ('english', tableColumn) и to_tsvector ('simple', tableColumn), но ни один из них не соответствует содержимому атрибутов в тегах. В частности, я сделал это:

create index an_index on myTable using gin (to_tsvector('simple',tableColumn))

и затем:

select url from myTable where to_tsvector ('simple', tableContent) @@ to_tsquery ('myscript.js')

Я ожидал, что он получит все документы, содержащие ссылку на myscript.js. Но это не дает никаких результатов.

Можно ли добиться желаемых результатов с помощью полнотекстового поиска?

Заранее спасибо за помощь.

1 Ответ

1 голос
/ 11 июля 2011

Попробуйте вместо.

SELECT url FROM myTable WHERE tableColumn @@ to_tsquery ('simple','myscript.js')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...