3307664469

3307664469



Index


Document 1

Document 2

| Field A (name/value) |

| Field A (name/value)

| Field B (name/value) |

| Field B (name/value)


Do utworzenia indeksu wykorzystaj klasę lndexWriter:

lndexWriter indexWriter = new lndexWriter("indexPath", new StandardAnalyzerf), true);

gdzie pierwszy parametr do ścieżka do katalogu, w którym ma być przechowywany indeks, drugi parametr to typ "analizatora" (parsera dokumentu), który będzie wykorzystywany, a trzeci parametr świadczy o tym, czy budowany jest nowy indeks (true) czy też rozwijany jest indeks już istniejący (false).

StandardAnalyzer jest najczęściej wykorzystywanym analizotorem ogólnego użycia. Inne możliwe to: WhiteSpaceAnalyzer (prosty analizator, które separuje tokeny na spacjach), StopAnalyzer (usuwa słowa stop-words), SnowballAnalyzer (używa pewnej fermy stemmingu).

Utwórz obiekt klasy File, korzystając z konstruktora, który jako parametr przyjmuje ścieżkę do kolekcji tekstów. Następnie wykorzystaj odpowiednią metodę klasy File tak, by nazwy dokumentów w tym katalogu reprezentować jako tablicę String[] i następnie odwołując się do tych nazwy, moć w pętli dodawać dokumenty do indeksu.

Po utworzeniu indeksu, wypełnij go zawartością, dodając poszczególne dokumenty. Każdy dokument odpowiada obiektowi klasy Document. Dokument jest opisany za pomocą wielu własności w formie (nazwa, wartość). Każda własność odpowiada obiektowi klasy Field. Korzystając z tych obiektów, można dodać informacje nt. dokumentu, takie jak tytuł, ścieżka do miejsca przechowywania, treść, itd.

Na przykład:

FilelnputStream file = new FilelnputStream(docPafh);

Document doc = new Documentf);

doc.addfnewField("path", docPath, Field.Store.YES, Field.Index.TOKENIZED)); doc.addfnew Field("content", (Reader) new InputStreamReader(file)));

gdzie docpath zawiera ścieżkę do dokumentu; Field.Store.YES określa, czy własność jest przechowywana w ramach indeksu (użyteczne, jeśli chce się ją wyświetlić w ostatecznych wynikach), Field.lndex.TOKENIZED wskazuje, czy dane muszą być poddane tokenizacji czy też nie. Napisz osobną funkcję indexDoc dla utworzenia obiektu klasy Document.

Po zdefiniowaniu obiektu klasy Document, dodaje się go do indeksu za pomocą polecenia: indexWriter.addDocument(doc);

Następnie należy zakończyć tworzenie indeksu poleceniem: indexWriter.close();

Część 3 - przeszukiwanie kolekcji

Jeśli utworzyłeś indeks, możesz przystąpić do napisania części przetwarzającej zapytania. Wykorzystaj klasy lndexSearcher oraz OueryParser.

lndexSearcher isearch = new lndexSearcher(indexPath);

-7-



Wyszukiwarka

Podobne podstrony:
sel obrazek3 Save Selection Destination Document: Channel: Name: pomidor.jpg New
18:05 Wt. 17.03 blog^ Documents Datę    Name New...    notatka z webin
howtoslide Custom Fields Name Value Add new custom field: Name Value slide ^
INDEX OF SUCCESS Name: Anna Białkowska, Krzysztof Stola, Maciej Staisz Faculty /field of study/speci
f44 2 Search Library Search for which object types? Name Documents 3 contains Category is l^ny Modif
html2 ADD HTML PAGE i insert_page_name WARNING: compile this field before save! Format Styles sert t
22vcg10 (OD CoopAd: Table Field Name Data Tvpe Description
Database Identification In the Global Database Name field, enter the database namc in the form datab
starter template Project name Homo About ContactBootstrap starter template Use this document as
Syllabus Course ID TS2B100005 Course name Kompatybilność elektromagnetyczna Field of
2 Klienci : Table Field Name Data Type Id klienta Number Identyfikator
2 1 H Klienci: Table Field Name Data Type Description 3 Id klienta Number Identyfikator

więcej podobnych podstron