Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PostgreSQL] Problemy z wyszukiwaniem pełnotekstowym
yafu
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 1.06.2013

Ostrzeżenie: (0%)
-----


Witam,

Próbuję przejść na wyszukiwanie pełnotekstowe, jednak już na samym początku pojawiły się problemy.

Korzystając z:
http://www.postgresql.org/docs/8.3/static/...rch-tables.html

chciałem wykonać najprostsze wyszukiwanie bez indeksów, czyli jak z przykładu:
  1. SELECT title
  2. FROM pgweb
  3. WHERE to_tsvector('english', body) @@ to_tsquery('english', 'friend');


Czyli pobieram kolumnę title z tabeli pgweb, gdzie znajdzie się słowo 'friend'.
Przerobiłem to pod swoje dane, ale mam błąd związany z 'body' - myślałem, że po prostu tu ma zawsze być body, ale okazuje się że nie.

Czym więc jest to body (jakieś pole?) i jak zrobić, żeby to działało ?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




W Twoim przykładzie: title jest kolumną, którą zwracasz w wyniku zapytania, a wyszukujesz po kolumnie body. Kolumna body musi być typu tsvector. Czyli chcąc zrobić wyszukiwanie po title musisz dodać nową kolumnę np. title_tsv i jej użyć w wyszukiwaniu. Wartość tej kolumny najlepiej aktualizować triggerem w momencie zmiany wartości kolumny title.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 09:27