Portál AbcLinuxu, 8. května 2025 13:19
Přečtěte si návod, jak efektivně používat vyhledávání na AbcLinuxu.
Dnešním dnem jsem zprovoznil vyhledávání. Použil jsem přitom Open Source komponentu Lucene, která je součástí projektu Jakarta. Díky těmto programátorům máte k dispozici velice silný a kvalitní engine.
Lucene pro vyhledávání používá takzvaný index. Jedná se o způsob uložení textu tak, aby se hledané fráze daly efektivně najít. Vytváření indexu je však výpočetně náročná operace, proto jej v současnosti spouštím jen jednou denně, vždy o půlnoci. Odtud plyne jedno omezení - nemůžete od vyhledávání očekávat, že nalezne nově vytvořené dokumenty. Takže mi toto chování prosím nehlašte jako chybu.
Do indexu se ukládají všechny hardwarové i softwarové záznamy, kategorie, články, diskuse i ovladače. V tuto chvíli má index 2 MB. Někdy se může stát, že výsledek vyhledávání obsahuje dvě různá URL, která se však zobrazí stejně. Jak je to možné? Tato vlastnost vychází z objektového modelu, kde objekt Položka slouží jako kontejner pro jeden a více objektů Záznam. Vyhledávání tedy může najít frázi jak názvu Položky, tak v obsahu Záznamu.
Lucene je velice silný vyhledávací nástroj. Umožňuje vytvořit velmi přesné dotazy. V této části se tedy dočtete, jak na to.
Pokud zadáte několik slov, najdou se všechny dokumenty, ve kterých se některé
slovo nachází. K dispozici máte samozřejmě i logické spojky, musíte je však
napsat anglicky a velkými písmeny. Například nvidia AND tnt
najde
všechny společné výskyty slov nvidia a tnt. Vyhledávání není závislé na
velikosti písmen, proto není rozdíl mezi tnt a TNT.
Operátory plus a mínus vyžadují, respektive zakazují přítomnost některých
slov. Vykřičník má stejný význam jako mínus. Výtaz -nvidia +tnt
zobrazí dokumenty, ve kterých se nachází slovo tnt, ale není v nich slovo
nvidia.
K dispozici máte i zástupné znaky hvězdičku a otazník s obvyklým významem.
Je chybou je použít na začátku slova. Například video*
najde video
i videokartu, ale *video
skončí s chybou.
Při hledání můžete určit i typ hledaného dokumentu. Například když chcete
najít všechny diskuse, ve kterých se nachází slovo nvidia, použijete výraz
nvidia AND typ:diskuse
. Jednotlivé typy jsou následující:
oddil, polozka, zaznam, diskuse, clanek a ovladac
.
Tato první verze by měla být plně funkční a poskytovat kvalitní vyhledávání. Přesto je zde ještě pár oblastí, které by se daly vylepšit. Jedná se hlavně o náhled na nalezený dokument (typ dokumentu, výňatek z textu) a podporu českého jazyka (vyhledávání nezávislé na diakritice). Máte-li další nápady, rád si je uložím do svého TODO seznamu.
Já chápu, že jste mladý server, fandím Vám, vím co to je dělat elektronické podání daňového přiznání s elektronickým podpisem v největším IT projektu v ČR, takže vím, že vše nejde udělat hned.
zrusit ikonky? ) co kdybych zrusil uplne veskery design, zadnou velkou hodnotu prece neprinasi ..
To je otazka nazoru a muj je odlisny.
Lepsi kategorizace, to urcite. Jak v sekci hardware, tak software. Ale pak uz by hrozilo, ze bych zacal konkurovat linuxlinks a to nechci. I kdyz podobne pozadavky se zacinaji mnozit ...
archiv, ale ceho? a proc? pokud clanky, tak ty jsou ukladany do rubrik a kopirovany i do stromu, kam by mohly patrit. totez se deje s diskusemi.
mlady server? existujeme uz pres tri roky, jen se zmenilo jmeno a zaber serveru. viz tento clanek.
diky za podnety
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.