![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 30.10.2005 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Czesc wszystkim,
Temat wydawałby się popularny, a nie znalazlem zadnego wpisu w forum o wyszukiwaniu poelnotekstowym w PostreSQL. Pytanie: Co moglibyscie mi polecic, jezeli mam 2 kolumny, z czego jedna to tytul (srednio kolo 4 wyrazow) + opis (srednio kolo 7 wyrazów). Chcialbym przeszukiwac bazę w poszukiwaniu wyrazów, które naleza do zbioru wyrazów z tych dwóch kolumn. Czy mozecie cos polecic? Znalazlem cos takiego jak Tsearch2, ale zastanawiam sie tez nad samymi indexami. Czy indexy mogą sie nadawac do kolumn, gdzie bedzie kilak wyrazów? Prosze o pomoc. -------------------- xurl | puste frazesy | kareel | ulx | zobacz więcej | porady podatkowe | niech o tobie gadają
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 15.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety indeksy nie obsłużą tego w dobry i wydajny sposób.
Znalazłem ostatnio ciekawy artykuł: Implementing Full Text Indexing with PostgreSQL http://www.devx.com/opensource/Article/21674 Może to ci troche pomoże |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Witam,
pozwolę sobie odświeżyć temat. Aktualnie poznaję wyszukiwanie pełno tekstowe w PostgreSQL i mam pewien problem z rankingowaniem. Otóż zapytanie:
zwraca: Cytat ERROR: function rank(tsvector, tsquery) does not exist Co mam zrobić aby dodać takową funkcję? Googlowanie na niewiele się zdało (ciekawe zapowiadał się rezultat dla http://www.scribd.com/doc/4846364/Fulltext...h-in-PostgreSQL ale nic konrketnego tam nie znalazłem...). Korzystam z PostgreSQL 8.3 na Windows XP. Proszę o pomoc, pion |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%) ![]() ![]() |
A może Tsearch ?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 640 Pomógł: 44 Dołączył: 8.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
OpenFTS, czy też ew. Tsearch
![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Odświeżam temat bo mam pewien problem z TSearch2. Otóż mam tabele:
product [id, price...] product_i18n [product_id, locale_id, name, description, tsearch2_vector] Kolumna tsearch2_vector jest oczywiście typu tsvector. Chciałbym teraz wyszukać produkty, które pasują do zadanego wzorca czyli przeszukać tą właśnie kolumnę i dołączyć tabelę product do tabeli product_i18n. Mam więc takie zapytanie:
Pojawia się problem: Cytat Query failed: ERROR: invalid reference to FROM-clause entry for table "shp_product_i18n" LINE 7: shp_product ON shp_product.id=shp_product_i18n.product_i... ^ HINT: There is an entry for table "shp_product_i18n", but it cannot be referenced from this part of the query. Gdy zapytanie złożę bez tego JOINa to działa poprawnie. Co z tym fantem zrobić? Niestety google nie bardzo mi pomogło... Proszę o pomoc, pion PS: "shp_" to prefix tabel. // Edit: Udało mi się przenosząc JOINa do klauzli WHERE ale czy da się to zrobić jednak z JOINem?
Ten post edytował phpion 20.02.2009, 09:51:29 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 14:54 |