5 komentářů k článku Tipy pro Sphinx Search:

  1. michal

    Český slovník
    Ahoj,

    používám slovník a Sphinx mi téměř na každý řádek zahlásí duplicitu, např. WARNING: index ‚test1‘: duplicate wordform found ( ‚Abcházií > Abcházie‘ ). Fix your wordforms file ‚/var/lib/sphinx/data/wordforms.txt‘. Vyhledávání je funkční, nicméně warningy dělají zmatek v logu a má to negativní vliv na výkon.

    Wordform.txt jsem získal konverzí českého Ispell slovníku (UTF-8) z https://issues.apache.org/jira/browse/LUCENE-4311.

    spelldump –c /etc/sphinx/sphinx.conf cs_CZ.dic cz_CZ.aff wordforms.txt

    charset_table = 0..9, A..Z->a..z, _, a..z, U+0e1->a, U+0c1->a, U+10d->c, U+10c->c, U+10f->d, U+10e->d, U+0e9->e, U+0c9->e, U+11b->e, U+11a->e, U+0ed->i, U+0cd->i, U+148->n, U+147->n, U+0f3->o, U+0d3->o, U+159->r, U+158->r, U+161->s, U+160->s, U+165->t, U+164->t, U+0fa->u, U+0da->u, U+16f->u, U+16e->u, U+0fd->y, U+0dd->y, U+17e->z, U+17d->z,

    Výsledný soubor má 90MB.

    Má někdo podobný problém? Existuje lepší postup jak dostat český slovník pro sphinx? Znáte nějakou utilitu na konverzi slovníku synonym z Ispell balíku? Díky

    1. Vojtěch SemeckýAutor příspěvku

      Re: Český slovník
      Jinou utilitu bych nehledal. Zádrhel je v tom, že pokud pomocí charset_table oříznete diakritiku, skutečně tam pak vznikne mnoho duplicitních výrazů. Např. „Abcházií“ i „Abcházii“ se převede na „abchazii“.

      Stačí výsledný soubor prohnat nějakou utilitou na odstranění duplicitních řádků a je po problému. Např.:

      sort wordforms.txt | uniq > wordforms_uniq.txt
      
      1. michal

        Re: Český slovník
        Problém je dvojí
        – generují se záznamy typu slovo > slovo, tj. co je na levé straně je i na pravé
        – vznikají cyklické závislosti

        Normalizace pomocí uniq tyto problémy neřeší.

        Našel jsem dost diskuzí, ale žádné out-of-the-box řešení. Zajímalo by mě jak vypadá funkční český slovník a z jakého zdroje byl generovaný.

        Samostatná otázka je jak využít Ispell slovník synonym, tj. např z openoffice th_cs_CZ_v3.dat.

        1. radek

          Re: Český slovník
          dospeli jste k nejakemu vysledku ? docela by me to zajimalo, v soucasne chvili experimentuji s elasticsearchem, ale ten ma v podstate stejny problem a sphinx uz mam v produkci nasazeny, jen bez ceskeho „ohybani“, takze pokud by se to podarilo dostat primo do sphinxu, tak bych byl radsi.
          dekuji

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=9196