1c fulltextové vyhľadávanie. Fulltextové vyhľadávanie a jeho funkcie

3.4.9 fulltextové vyhľadávanie: Automatizované vyhľadávanie dokumentov, pri ktorom sa celý text alebo významné časti textu používajú ako vyhľadávací obrázok dokumentu. Fulltextové vyhľadávanie, fr. Recherche en texte integrál)

Celý textový index

Prvé verzie programov na fulltextové vyhľadávanie zahŕňali skenovanie celého obsahu všetkých dokumentov pri hľadaní daného slova alebo frázy. Pri použití tejto technológie trvalo vyhľadávanie veľmi dlho (v závislosti od veľkosti databázy) a na internete by to bolo nemožné. Moderné algoritmy vopred sa na vyhľadávanie vytvára takzvaný fulltextový index - slovník, v ktorom sú uvedené všetky slová a je uvedené, na ktorých miestach sa vyskytujú. Ak existuje takýto index, stačí hľadať správne slová v ňom a následne sa okamžite získa zoznam dokumentov, v ktorých sa vyskytujú.

Poznámky

pozri tiež


Nadácia Wikimedia. 2010.

Pozrite si, čo je „Fulltextové vyhľadávanie“ v iných slovníkoch:

    Automatizované vyhľadávanie informácií, pri ktorom sa ako vyhľadávací obrázok dokumentu používa celý text alebo podstatné časti textu. V angličtine: Fulltextové vyhľadávanie Pozri tiež: Automatizované vyhľadávanie informácií ... ... Finančná slovná zásoba

    fulltextové vyhľadávanie- Automatizované vyhľadávanie dokumentov, pri ktorom sa ako vyhľadávací obraz dokumentu použije celý text alebo podstatné časti textu. [GOST 7,73 96] Témy vyhľadávanie a šírenie informácií Zovšeobecňovanie pojmov informácie ... Technická príručka prekladateľa

    fulltextové vyhľadávanie- 3.4.9 fulltextové vyhľadávanie: Automatické vyhľadávanie dokumentov, pri ktorom sa ako vyhľadávací obrázok dokumentu použije celý text alebo významné časti textu en Fulltextové vyhľadávanie fr Recherche en texte integration Zdroj ...

    fulltextové vyhľadávanie- Rus: fulltextové vyhľadávanie Eng: fulltextové vyhľadávanie Fra: recherche en texte integration Automatizované vyhľadávanie dokumentov, pri ktorom sa ako vyhľadávací obrázok dokumentu používa celý text alebo podstatné časti textu. GOST 7.73 ... Slovník informácií, knižníc a vydavateľstiev

    PLNÉ TEXTOVÉ VYHĽADÁVANIE- podľa GOST 7.73–96 „Vyhľadávanie a šírenie informácií. Termíny a definície“ je automatizované vyhľadávanie dokumentov, pri ktorom sa celý text alebo podstatné časti textu používajú ako vyhľadávací obrázok dokumentu ... Kancelárska práca a archivácia v pojmoch a definíciách

    Získavanie údajov je oblasť počítačovej vedy, ktorá študuje algoritmy na vyhľadávanie a spracovanie informácií v štruktúrovaných (pozri napr. databázy) aj neštruktúrovaných (napr. Textový dokument) údaje. Vyhľadávanie údajov je neoddeliteľne spojené s konceptom ... ... Wikipedia

    Vyhľadávanie informácií (IP) je proces vyhľadávania neštruktúrovaných dokumentárnych informácií a veda o tomto vyhľadávaní. Obsah 1 História 2 Získavanie informácií ako proces ... Wikipedia

    - (English Information Retrieval) proces vyhľadávania neštruktúrovaných dokumentárnych informácií, ktoré spĺňajú informačné potreby (anglicky) Ruština, a veda o tomto vyhľadávaní ... Wikipedia

    GOST 7.73-96: Systém noriem pre informácie, knihovníctvo a publikovanie. Vyhľadávanie a šírenie informácií. Pojmy a definície- Terminológia GOST 7.73 96: Systém noriem pre informácie, knihovníctvo a publikovanie. Vyhľadávanie a šírenie informácií. Termíny a definície pôvodný dokument: 3.2.5 automatizované informácie vyhľadávací systém: IPS, ... ... Slovník-príručka termínov normatívnej a technickej dokumentácie

knihy

  • História Byzancie. Čitateľ. Časť 2. Historické dokumenty a výskumy (DVD), Vladimír Martov, vydavateľstvo "Directmedia Publishing" vydáva novú sériu "Clio", čo je séria publikácií o svetovej histórii. Otvorte sériu čítačiek o histórii Byzancie - "Historici Byzancie" ... Kategória: História. Multimédiá Vydavateľ:

Fulltextový vyhľadávač

Základné funkcie fulltextového vyhľadávania

  • podpora prepisu (písanie ruských slov latinskými znakmi v súlade s GOST);
  • podpora substitúcie (písanie časti znakov ruskými slovami s jednokľúčovými latinskými znakmi);
  • možnosť fuzzy vyhľadávania (písmená v nájdených slovách sa môžu líšiť) s uvedením prahu fuzzy;
  • schopnosť špecifikovať rozsah vyhľadávania pre vybrané objekty metadát;
  • prezentácia výsledkov vyhľadávania vo formáte XML a HTML so zvýraznením nájdených slov;
  • fulltextové indexovanie názvov štandardných polí ("Kód", "Názov" atď.) vo všetkých konfiguračných jazykoch;
  • vykonávanie vyhľadávania s prihliadnutím na synonymá ruského, anglického a ukrajinského jazyka;
  • morfologický slovník ruského jazyka obsahuje množstvo špecifických slov súvisiacich s oblasťami činnosti automatizovanými pomocou softvérového systému 1C: Enterprise;
  • schopnosť používať ďalšie slovníky fulltextového vyhľadávania;
  • Súčasťou dodaných slovníkov sú slovníkové základy a slovníky tezauru a synonymá ruského, ukrajinského a Angličtina poskytuje Informatika.

Fulltextové vyhľadávanie v databáze

Mechanizmus fulltextového vyhľadávania v údajoch systému 1C:Enterprise 8 umožňuje prehľadávať databázu s uvedením operátorov vyhľadávania (AND, OR, NOT, NEAR atď.).

Mechanizmus fulltextového vyhľadávania je založený na použití dvoch komponentov:

  • fulltextový index, ktorý sa vytvorí pre aktuálnu databázu a potom sa podľa potreby pravidelne aktualizuje;
  • fulltextové vyhľadávacie nástroje.

Vytváranie a aktualizácia fulltextového indexu sa môže vykonávať interaktívne, v režime 1C:Enterprise 8, alebo programovo pomocou vstavaného jazyka. Nižšie je uvedené dialógové okno na správu fulltextového indexovania v režime 1C:Enterprise:

Na vyhľadávanie údajov v databáze je možné napríklad použiť nižšie uvedené spracovanie vyhľadávania údajov.

V prezentovanom príklade boli nájdené dokumenty, ktorých podrobnosti obsahujú hodnoty začínajúce na "Complete" a "vent" - protistrana "Complete TD" a detaily obsahujúce rôzne formy slova "fan".

Systém 1C:Enterprise 8 umožňuje selektívne zahrnúť údaje objektov aplikácie a ich detaily do fulltextového vyhľadávania. Je tiež možné obmedziť rozsah vyhľadávania len na špecifikované konfiguračné objekty.

Fulltextové vyhľadávanie v systéme pomoci

Systém nápovedy 1C:Enterprise 8 tiež implementuje fulltextové vyhľadávanie, ktoré vám umožňuje použiť operátory vyhľadávania AND, OR, NOT, NEAR atď. V tomto prípade sú nájdené slová zvýraznené.

Softvérové ​​rozhranie

Používajú sa nasledujúce aplikačné objekty:

  • Správca fulltextového vyhľadávania
  • ListFullTextSearch
  • ItemListFullTextSearch

FullTextSearch Manager má metódy na vytvorenie indexu vyhľadávania, kontrolu jeho platnosti a vytvorenie zoznamu vyhľadávania typu FullTextSearchList pre daný dotaz.

Správca FullTextSearch je dostupný ako vlastnosť globálneho kontextu FullTextSearch.

Zoznam FullTextSearch poskytuje prístup k výsledkom vyhľadávania. Rozsah vyhľadávania môžete zadať aj ako pole prvkov metaúdajov konfigurácie.

Výsledkom vyhľadávania je FullTextSearchListItem.

Operátory vyhľadávacieho reťazca

Vo vstupnom riadku sú povolené nasledujúce operátory vyhľadávania:

AND (AND alebo #) - vyhľadávanie údajov obsahujúcich všetky slová; príklad: "záznam A dokument" - podrobnosti musia obsahovať "vykonávanie" aj "dokument" (s prihliadnutím na morfológiu);

OR (ALEBO alebo | alebo,) - vyhľadajte aspoň jedno z uvedených slov; príklad: "záznam ALEBO doklad" - v detailoch musí byť aspoň jedno zo slov "záznam" alebo "dokument";

NOT (NOT alebo ~) - vyhľadávanie údajov, ktorých podrobnosti obsahujú prvé slovo, ale nie druhé; príklad: "závierka NIE mesiac" - nájde sa všetko, čo obsahuje "závierka", ale neobsahuje slovo "mesiac". Použitie "~" na začiatku riadku nie je povolené;

BLÍZKO/n (NEAR/[+/-]n) - vyhľadávanie údajov obsahujúcich zadané slová v jednom atribúte, berúc do úvahy morfológiu vo vzdialenosti n slov medzi slovami.

Znamienko označuje, ktorým smerom od prvého slova sa bude hľadať druhé slovo („+“ - za prvým; "-" - pred prvým slovom).

Ak znamienko nie je zadané, nájdu sa údaje obsahujúce zadané slová vo vzájomnej vzdialenosti n slov.

Na poradí slov nezáleží.

  • "sušič vlasov BLÍZKO/3 vzduch" - nájde sa údaj, v ktorom "vzduch" nie je viac ako 3 slová pred alebo za "sušičom vlasov";
  • sušič vlasov BLÍZKO/+3 vzduch - nájde sa údaj, v ktorom "vzduch" nie je viac ako 3 slová za "sušičom vlasov";
  • sušič vlasov BLÍZKO/-3 vzduch - nájde sa údaj, v ktorom "vzduch" nie je viac ako 3 slová pred "sušič vlasov".

NEAR (NEAR) - zjednodušený operátor vzdialenosti: obe slová sa nenachádzajú ďalej ako 8 slov od seba; príklad: "držiaci dokument NEAR";

"" (text v úvodzovkách) - vyhľadajte presnú frázu s prihliadnutím na morfológiu, príklad: "odoslanie dokumentu" - ekvivalent: držanie /1 dokumentu;

() - zoskupenie slov (ľubovoľný počet úrovní vnorenia); príklad: "(účtovanie | výpis) # (faktúra, doklad)";

* - vyhľadávanie pomocou zástupného znaku (nahradenie konca slova). Je potrebné zadať viac ako 1 významný znak; príklad: "docu*" - nájde "dokument", "dokument", "dokument" atď.;

# - fuzzy vyhľadávanie slov s daným počtom rozdielov od zadaného (ak nie je zadané, potom = 1); príklad: dotaz "#Systém" nájde "systém", "systém"; dotaz "System#2" nájde "sittama", "settema";

Vyhľadávanie s prihliadnutím na synonymá ruského, anglického a ukrajinského jazyka. "!" umiestnené pred zodpovedajúce slovo; príklad: pri vyhľadávaní výrazu „!red tile“ sa nájde aj „scarlet tile“ a „coral tile“.

Ak nie sú zadané žiadne operátory (slová sú zadané s medzerou), potom program vyhľadá všetky slová z dotazu pomocou operátora AND.

Príklady

SearchList = FullTextSearch.CreateList("", 20); SearchList.GetDescription = true;

ArrayMD = New Array(); ArrayMD.Add(Metadata.Katalogy.Produkty); ArrayMD.Add(Metadata.Documents.CashReceipt);

SearchList.SearchArea = ArrayMD; SearchList.SearchString = SearchInputField; SearchList.PortionSize = Veľkosť časti; SearchList.FirstPart();

If SearchList.FullCount() = 0 Then If SearchList.TooManyResults() Then Warning("Príliš veľa výsledkov, prosím upravte svoj dotaz."); Koniec Ak; Návrat; Koniec Ak;

Count = SearchList.FullCount();

StrHTML = SearchList.GetDisplay(FullTextSearchDisplayType.HTMLText); Report(StrHTML);

Pre každý index=0 Podľa LookupList.Count-1 Loop element = LookupList.Get(index); Report(element.View); EndCycle;

Zvláštnosti

Fulltextové vyhľadávanie funguje na celom dátovom poli, takže pri jeho použití je potrebné výsledok prejsť cez bezpečnostný filter.

Napríklad v systéme s viacerými základňami musíte odrezať predmety z iných základní.

Okrem toho sa takéto filtrovanie úzko prelína s kontrolou prístupu. Je známe, že „dierou“ v bezpečnosti sú veľmi často práve vyhľadávacie mechanizmy.

Funkčnosť nového vyhľadávania je založená na dvoch mechanizmoch:
- fulltextové vyhľadávanie (funguje veľmi rýchlo a vyžaduje minimum výpočtových zdrojov);
- vyhľadávanie pomocou DBMS (vo všeobecnom prípade je trvanie vyhľadávania a náklady na výpočtové zdroje úmerné množstvu informácií v tabuľke).

V aktuálnej implementácii sa bude zoznam prehľadávať bez použitia fulltextové vyhľadávanie v nasledujúcich prípadoch ():
- fulltextový index je na úrovni zakázaný informačnú základňu;
- objekt hlavnej tabuľky nie je indexovaný fulltextovým indexom;
- v dôsledku vyhľadávania pomocou fulltextového vyhľadávania bola prijatá chyba.

Ak je v informačnej databáze povolené fulltextové vyhľadávanie a index nie je aktualizovaný vôbec alebo čiastočne (podľa mojej praxe 95 % informačných databáz zákazníkov), používateľ počas vyhľadávania dostane buď nespoľahlivý alebo prázdny výsledok vyhľadávania. .

Pýtame sa firmy 1C – ako byť? Ako zabezpečiť, aby boli výsledky vyhľadávania vždy platné?
Dostávame odpoveď: Áno, ak chcete, aby boli výsledky vyhľadávania aktuálne, keď je povolené fulltextové vyhľadávanie, musíte sa uistiť, že index fulltextového vyhľadávania je aktuálny.Neexistujú žiadne iné možnosti efektívneho a aktuálneho vyhľadávania. doterajšie vyhľadávanie ().

A či vo všeobecnosti existuje „skutočný fulltextový index“? Závisí od počtu používateľov, intenzity zmien informácií v databáze a frekvencie aktualizácií indexu. Aktualizácia indexu sa zvyčajne spúšťa každých 60 sekúnd. No, ak sa nezmenilo veľa objektov a procedúra zvládla spracovať všetky zmeny za týchto 60 sekúnd. A keby ste robili preúčtovanie skupiny dokumentov, alebo hromadné prepisovanie adresára? V tomto prípade nikto nemôže zaručiť čas, po ktorom vyhľadávanie v indexe opäť poskytne spoľahlivé údaje.
V zásade to nie je obzvlášť kritické, s výnimkou niekoľkých situácií. Bežnou možnosťou pre používateľov je nastaviť výber v zozname podľa nejakej hodnoty, napríklad „Protistrana“, zadať nový alebo skopírovať existujúci dokument a zapísať si ho. So starým hľadaním nový dokument okamžite viditeľné v zozname. Teraz to používateľ uvidí v najlepšom prípade až po N sekundách, kde N je bližšie k 50-60 sekundám, a nie 2-3.
Ak si nevšimnete, že neexistuje žiadny nový dokument a poskytnete niekomu informácie na základe vybraných výsledkov, potom bude zjavne nespoľahlivý.

Bolo to v prípade normálna operácia s informačnou základňou. Čo sa deje v konkrétnych situáciách? Uvediem pár príkladov.
1) V pracovnej databáze je aktivovaný a často aktualizovaný fulltextový index. Používateľ požiada o nasadenie kópie pracovnej databázy, aby mohol analyzovať údaje v nej.
Obnovíme zálohu a poskytneme prístup. Ale fulltextové vyhľadávanie nebude fungovať, pretože. index nie je uložený v DBMS, ale v samostatné súbory(v súbore aj v verzia klient-server). Index nie je v súbore dt.
tie. aby používateľ mohol využívať vyhľadávanie v zozname, musí byť v tejto databáze vypnutý fulltextový index. Je pravda, že používateľ bude mierne prekvapený, že vyhľadávanie bude trvať oveľa dlhšie. Alebo prebudujte index v celej databáze.

2) (Aktuálne pre viac-menej veľké základne). V produkčnej databáze je fulltextový index povolený a často aktualizovaný. Prichádza koniec mesiaca a začína sa uzatváranie obdobia. Začíname hromadne nakladať a presúvať doklady. Aby sme znížili zaťaženie systému, blokujeme vykonávanie rutinné úlohy a aktualizácia indexu sa zastaví. Používatelia budú, mierne povedané, v strate – prečo v zoznamoch nie sú nové alebo zmenené doklady. Jediným východiskom je zakázať fulltextové vyhľadávanie v informačnej databáze, a teda získať viac ťažký náklad na zariadení kvôli náročnému hľadaniu všetkých detailov.

Zdá sa mi teda, že operácia aktualizácie indexu bude pre správcov infobáz ďalšou bolesťou hlavy.
Systém, ktorý predtým zaručoval 100% presnosť a relevantnosť informácií v akomkoľvek čase, sa teraz mení na systém pomocičo nemôže byť úplne isté.
A používatelia dostanú ďalší dôvod na výčitky IT ľuďom – „váš systém nefunguje správne“.



Načítava...
Hore