ďťż
 
tsearch2 postgres ďťż
 
tsearch2 postgres
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

tsearch2 postgres



Herakles - 06-01-2007 00:02
tsearch2 postgres
  Witam,
no i męczę się niemiłosiernie, tak naprawdę nie wiem o co chodzi z tymi
plikami dict, aff, stop. Aff i stop niby mam, ale dict?
Czy ktoś mi może to jakoś krótko i sensownie wyłożyć.





hubert depesz lubaczewski - 06-01-2007 00:02

  On 2007-01-05, Herakles <herakles@buziaczek.pl> wrote:
> no i męczę się niemiłosiernie, tak naprawdę nie wiem o co chodzi z tymi
> plikami dict, aff, stop. Aff i stop niby mam, ale dict?
> Czy ktoś mi może to jakoś krótko i sensownie wyłożyć.

jakie dict? z readme które kroki zrobiłeś i jak. skąd wziąłeś dane?

depesz

--
http://www.depesz.com/ - blog dla ciebie




Herakles - 07-01-2007 00:10

  hubert depesz lubaczewski wrote:

> On 2007-01-05, Herakles <herakles@buziaczek.pl> wrote:
>> no i męczę się niemiłosiernie, tak naprawdę nie wiem o co chodzi z tymi
>> plikami dict, aff, stop. Aff i stop niby mam, ale dict?
>> Czy ktoś mi może to jakoś krótko i sensownie wyłożyć.
>
> jakie dict? z readme które kroki zrobiłeś i jak. skąd wziąłeś dane?
>
> depesz
>

Problem polega na tym, że system jest dość sporo języczny (pl,en,de,lt,cz).
Zwykłe bez lexize nie wchodzi w grę. Dążę równierz do tego, żeby instalacja
nowych języków była prosta. Do tsearcha potrzebne są pliki med,aff,stop,
jak zrobić ten pierwszy?




Herakles - 07-01-2007 00:10

  Herakles wrote:

> Witam,
> no i męczę się niemiłosiernie, tak naprawdę nie wiem o co chodzi z tymi
> plikami dict, aff, stop. Aff i stop niby mam, ale dict?
> Czy ktoś mi może to jakoś krótko i sensownie wyłożyć.

Dobra mam buga.
Wszystko działa jak baza jest w latin2, problem polega na tym, że jak bazka
jest w unicode, to

ts_test_utf=# select lexize('pl_ispell','monitory');
lexize
-----------
{monitory}

A powinno być
ts_test=# select lexize('pl_ispell','monitory');
lexize
-----------
{monitor}

z tego wynika cała reszta to_tsvector....

Jeśli ktoś wie jak to rozwiązać na bazce w unikodzie, to będę dźwięczny,
dodam, że próbowałem to wszystko co poniżej na różne sposoby, aby było w
utf8(konwertując pliki i ustawiając inne locale w pg_ts_cfg) ale nic z
tego. Może gdzieś czegoś niedopatrzyłem.

Poniżej zamieszczam małą instrukcję jak to ma wyglądać dla bazki w latin2,
może komuś pomogę.

Zrobiłem tak:
Zrobiłem se pliki:
polish.iso2.med
med zrobiłem tak:
znalazłem na dysku w /usr/share/ispell/polish kilka plików .gz(A.gz,
fachowe/*.gz...), połączyłem je i posortowałem tak jak w instrukcji
tsearcha.

polish.iso2.aff
aff znalazłem też gdzieś na dysku.
oczywiście odnalezienie tych plików było następstwem instalacji aspella
który instaluje się w deb z taką wtyczką ispell).

polish.iso2.stop
stop zrobiłem sam (i w na pod o aby że za przez....)

zrobiłem tak może się komuś przyda(jako postgres):
createdb -E LATIN2 -O herakles ts_test
na tą operację zrobiłem usera heraklesa superuserem:
psql -U herakles -W ts_test</usr/share/postgresql/8.1/contrib/tsearch2.sql

Następnie
psql -U herakles -W
i te kilka zapytań:
INSERT INTO pg_ts_dict
(SELECT 'pl_ispell',
dict_init,
'DictFile="/var/lib/ispell/polish.iso2.med",'
'AffFile="/var/lib/ispell/polish.iso2.aff",'
'StopFile="/var/lib/ispell/polish.stop"',
dict_lexize
FROM pg_ts_dict
WHERE dict_name = 'ispell_template');
INSERT INTO pg_ts_cfg values('default_polish','default','pl_PL.ISO-8859-2');
INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
VALUES ('default_polish', 'lhword', '{pl_ispell}');
INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
VALUES ('default_polish', 'lpart_hword', '{pl_ispell}');
INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
VALUES ('default_polish', 'lword', '{pl_ispell}');

INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'url', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'host', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'sfloat', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'uri', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'int', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'float', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'email', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'word', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'hword', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'nlword', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'nlpart_hword', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'part_hword', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'nlhword', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'file', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'uint', '{simple}');
INSERT INTO pg_ts_cfgmap
VALUES ('default_polish', 'version', '{simple}');

I mam:

ts_test=# select lexize('pl_ispell','monitory');
lexize
-----------
{monitor}

Dokładnie to co potrzeba, reszta już jest prosta.





Herakles - 08-01-2007 00:25

  Herakles wrote:

> Herakles wrote:
>
>> Witam,
>> no i męczę się niemiłosiernie, tak naprawdę nie wiem o co chodzi z tymi
>> plikami dict, aff, stop. Aff i stop niby mam, ale dict?
>> Czy ktoś mi może to jakoś krótko i sensownie wyłożyć.
>
No i gra muzyka, wyszło na to, że potrzebny jest 8.2 i initdb na jakimś
unikodowym locale.

> Dobra mam buga.
> Wszystko działa jak baza jest w latin2, problem polega na tym, że jak
> bazka jest w unicode, to
>
> ts_test_utf=# select lexize('pl_ispell','monitory');
> lexize
> -----------
> {monitory}
>
> A powinno być
> ts_test=# select lexize('pl_ispell','monitory');
> lexize
> -----------
> {monitor}
>
> z tego wynika cała reszta to_tsvector....
>
> Jeśli ktoś wie jak to rozwiązać na bazce w unikodzie, to będę dźwięczny,
> dodam, że próbowałem to wszystko co poniżej na różne sposoby, aby było w
> utf8(konwertując pliki i ustawiając inne locale w pg_ts_cfg) ale nic z
> tego. Może gdzieś czegoś niedopatrzyłem.
>
>
>
> Poniżej zamieszczam małą instrukcję jak to ma wyglądać dla bazki w latin2,
> może komuś pomogę.
>
>
>
> Zrobiłem tak:
> Zrobiłem se pliki:
> polish.iso2.med
> med zrobiłem tak:
> znalazłem na dysku w /usr/share/ispell/polish kilka plików .gz(A.gz,
> fachowe/*.gz...), połączyłem je i posortowałem tak jak w instrukcji
> tsearcha.
>
> polish.iso2.aff
> aff znalazłem też gdzieś na dysku.
> oczywiście odnalezienie tych plików było następstwem instalacji aspella
> który instaluje się w deb z taką wtyczką ispell).
>
> polish.iso2.stop
> stop zrobiłem sam (i w na pod o aby że za przez....)
>
> zrobiłem tak może się komuś przyda(jako postgres):
> createdb -E LATIN2 -O herakles ts_test
> na tą operację zrobiłem usera heraklesa superuserem:
> psql -U herakles -W ts_test</usr/share/postgresql/8.1/contrib/tsearch2.sql
>
> Następnie
> psql -U herakles -W
> i te kilka zapytań:
> INSERT INTO pg_ts_dict
> (SELECT 'pl_ispell',
> dict_init,
> 'DictFile="/var/lib/ispell/polish.iso2.med",'
> 'AffFile="/var/lib/ispell/polish.iso2.aff",'
> 'StopFile="/var/lib/ispell/polish.stop"',
> dict_lexize
> FROM pg_ts_dict
> WHERE dict_name = 'ispell_template');
> INSERT INTO pg_ts_cfg
> values('default_polish','default','pl_PL.ISO-8859-2'); INSERT INTO
> pg_ts_cfgmap (ts_name, tok_alias, dict_name)
> VALUES ('default_polish', 'lhword', '{pl_ispell}');
> INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
> VALUES ('default_polish', 'lpart_hword', '{pl_ispell}');
> INSERT INTO pg_ts_cfgmap (ts_name, tok_alias, dict_name)
> VALUES ('default_polish', 'lword', '{pl_ispell}');
>
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'url', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'host', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'sfloat', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'uri', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'int', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'float', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'email', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'word', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'hword', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'nlword', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'nlpart_hword', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'part_hword', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'nlhword', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'file', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'uint', '{simple}');
> INSERT INTO pg_ts_cfgmap
> VALUES ('default_polish', 'version', '{simple}');
>
> I mam:
>
> ts_test=# select lexize('pl_ispell','monitory');
> lexize
> -----------
> {monitor}
>
> Dokładnie to co potrzeba, reszta już jest prosta.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?= postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) [PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?= [postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?= Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com