Очень интересная тема. Статья знакомит с кухней полнотекстового поиска. Читать в два приема, сначала прочесть часть до "конфигураций". Часа через два прочесть остаток.
Хотя тема поиска произвольного текста очень хорошо освещена в превосходной документации PostgreSQL, эта статья может служить введением для тех, кто планирует в дальнейшем глубже изучить эту тему. Чтобы уложиться в рамки статьи, довольно много деталей пропущено, так что мы полагаемся на способность читателя додумывать то, о чём не сказано явно.
...
Для PostgreSQL поддерживается чувствительная к регистру символов проверка фраз на соответствие с использованием оператора LIKE, а также нечувствительная к регистру проверка с помощью оператора ILIKE. Для поиска текста "free text and 'Postgres text search'" запрос может выглядеть следующим образом:
select headline, ts_rank(tsv, query)
from pgweb, to_tsquery('free & text & postgres & search') query
where tsv @@ query and body ilike '%Postgres text search%';
... который использует полнотекстовый индекс для поиска статей, текст которых соответствует запросу, а затем для найденных элементов ищутся пересечения, дословно соответствующие тексту.
Просто, не правда ли?
Разбор запросов на естественном языке
Ну, не так уж и просто. Как, скажите на милость, несчастный разработчик должен преобразовать "человеческую" фразу, приведённую выше, в последующий оператор SQL? Это нетривиальная задача и, к тому же, выходящая далеко за пределы возможностей некоторых разработчиков.
rus-linux.net
Tools
Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.
2009-08-06
PostgreSQL, Полнотекстовый поиск
Posted by Valentin at 01:22
Labels: DBMS, opensource
Подписаться на:
Комментарии к сообщению (Atom)
Архив блога
-
▼
2009
(365)
-
▼
августа
(31)
- Skype не безопасен
- Глазки
- CSS hack and IE8
- Кино с сабами
- SSI безусловно крут
- *nix project
- 255 или 256?
- Unix shell
- Мордокнига
- Хотели как лучше?
- RDP vs VNC
- Банк? Интернет?
- OPSEC vs ID-Ten-T, OSI layer 8
- libata, результат
- Прекрасное правило
- libata
- Мультег
- Автомат по установке дебианчика
- Наши проблемы
- Мощь поисковой строки
- Что делают США в рамках планеты?
- LinuxCommand
- Record audio from playback, JACK
- Bluetooth
- Virtual ? (What?)
- odt2doc
- PostgreSQL, Полнотекстовый поиск
- Разное, безопасное
- Лена Головач
- html
- hiLoad
-
▼
августа
(31)
Ярлыки
linux
(241)
python
(191)
citation
(186)
web-develop
(170)
gov.ru
(159)
video
(124)
бытовуха
(115)
sysadm
(100)
GIS
(97)
Zope(Plone)
(88)
бурчалки
(84)
Book
(83)
programming
(82)
грабли
(77)
Fun
(76)
development
(73)
windsurfing
(72)
Microsoft
(64)
hiload
(62)
internet provider
(57)
opensource
(57)
security
(57)
опыт
(55)
movie
(52)
Wisdom
(51)
ML
(47)
driving
(45)
hardware
(45)
language
(45)
money
(42)
JS
(41)
curse
(40)
bigdata
(39)
DBMS
(38)
ArcGIS
(34)
history
(31)
PDA
(30)
howto
(30)
holyday
(29)
Google
(27)
Oracle
(27)
tourism
(27)
virtbox
(27)
health
(26)
vacation
(24)
AI
(23)
Autodesk
(23)
SQL
(23)
humor
(23)
Java
(22)
knowledge
(22)
translate
(20)
CSS
(19)
cheatsheet
(19)
hack
(19)
Apache
(16)
Klaipeda
(15)
Manager
(15)
web-browser
(15)
Никонов
(15)
functional programming
(14)
happiness
(14)
music
(14)
todo
(14)
PHP
(13)
course
(13)
scala
(13)
weapon
(13)
HTTP. Apache
(12)
SSH
(12)
frameworks
(12)
hero
(12)
im
(12)
settings
(12)
HTML
(11)
SciTE
(11)
USA
(11)
crypto
(11)
game
(11)
map
(11)
HTTPD
(9)
ODF
(9)
Photo
(9)
купи/продай
(9)
benchmark
(8)
documentation
(8)
3D
(7)
CS
(7)
DNS
(7)
NoSQL
(7)
cloud
(7)
django
(7)
gun
(7)
matroska
(7)
telephony
(7)
Microsoft Office
(6)
VCS
(6)
bluetooth
(6)
pidgin
(6)
proxy
(6)
Donald Knuth
(5)
ETL
(5)
NVIDIA
(5)
Palanga
(5)
REST
(5)
bash
(5)
flash
(5)
keyboard
(5)
price
(5)
samba
(5)
CGI
(4)
LISP
(4)
RoR
(4)
cache
(4)
car
(4)
display
(4)
holywar
(4)
nginx
(4)
pistol
(4)
spark
(4)
xml
(4)
Лебедев
(4)
IDE
(3)
IE8
(3)
J2EE
(3)
NTFS
(3)
RDP
(3)
holiday
(3)
mount
(3)
Гоблин
(3)
кухня
(3)
урюк
(3)
AMQP
(2)
ERP
(2)
IE7
(2)
NAS
(2)
Naudoc
(2)
PDF
(2)
address
(2)
air
(2)
british
(2)
coffee
(2)
fitness
(2)
font
(2)
ftp
(2)
fuckup
(2)
messaging
(2)
notify
(2)
sharepoint
(2)
ssl/tls
(2)
stardict
(2)
tests
(2)
tunnel
(2)
udev
(2)
APT
(1)
Baltic
(1)
CRUD
(1)
Canyonlands
(1)
Cyprus
(1)
DVDShrink
(1)
Jabber
(1)
K9Copy
(1)
Matlab
(1)
Portugal
(1)
VBA
(1)
WD My Book
(1)
autoit
(1)
bike
(1)
cannabis
(1)
chat
(1)
concurrent
(1)
dbf
(1)
ext4
(1)
idioten
(1)
join
(1)
krusader
(1)
license
(1)
life
(1)
migration
(1)
mindmap
(1)
navitel
(1)
pneumatic weapon
(1)
quiz
(1)
regexp
(1)
robot
(1)
science
(1)
seaside
(1)
serialization
(1)
shore
(1)
spatial
(1)
tie
(1)
vim
(1)
Науру
(1)
крысы
(1)
налоги
(1)
пианино
(1)
Комментариев нет:
Отправить комментарий