11package com .genexus .CA .search ;
22
3+ import java .io .BufferedReader ;
34import java .io .File ;
45import java .io .FileInputStream ;
6+ import java .io .FileReader ;
57import java .io .IOException ;
68import java .util .Iterator ;
79import java .util .List ;
8-
9- import org .apache .logging .log4j .Logger ;
10- import org .apache .logging .log4j .LogManager ;
1110import org .apache .lucene .analysis .standard .StandardAnalyzer ;
1211import org .apache .lucene .document .Document ;
1312import org .apache .lucene .document .Field ;
@@ -33,8 +32,6 @@ public final class Indexer {
3332 private static final int IDX = 1 ;
3433 private static final int DLT = 2 ;
3534
36- private static final Logger logger = LogManager .getLogger ("Indexer.class" );
37-
3835 protected Indexer (String directory ) {
3936 this .indexDirectory = directory ;
4037 if (!this .indexExists (directory )) {
@@ -43,7 +40,7 @@ protected Indexer(String directory) {
4340 IndexWriter writer = new IndexWriter (directory , new StandardAnalyzer (), true );
4441 writer .close ();
4542 } catch (Exception var3 ) {
46- logger . error (var3 .getMessage (), var3 );
43+ Logger . print (var3 .toString () );
4744 }
4845 }
4946
@@ -61,40 +58,48 @@ protected void addContent(String uri, String lang, String title, String summary,
6158 List <XWPFParagraph > data = reader .getParagraphs ();
6259
6360 XWPFParagraph p ;
64- for (Iterator < XWPFParagraph > var14 = data .iterator (); var14 .hasNext (); content = content + p .getText ()) {
65- p = var14 .next ();
61+ for (Iterator var14 = data .iterator (); var14 .hasNext (); content = content + p .getText ()) {
62+ p = ( XWPFParagraph ) var14 .next ();
6663 }
6764 } else if (this .isPdfExtension (filePath )) {
6865 PDDocument document = Loader .loadPDF (new File (filePath ));
6966 new PDFTextStripperByArea ();
7067 PDFTextStripper tStripper = new PDFTextStripper ();
7168 content = content + tStripper .getText (document );
69+ } else if (this .isTxtExtension (filePath )) {
70+ File txt = new File (filePath );
71+
72+ String st ;
73+ for (BufferedReader br = new BufferedReader (new FileReader (txt )); (st = br .readLine ()) != null ; content = content + st ) {
74+ }
7275 }
7376 } catch (IOException var16 ) {
7477 var16 .printStackTrace ();
7578 }
7679 }
7780
78- if (this .documentExists (uri , lang )) {
79- this .indexOperation (2 , lang , (Document ) null , uri .toLowerCase ());
80- }
81+ if (doc != null ) {
82+ if (this .documentExists (uri , lang )) {
83+ this .indexOperation (2 , lang , (Document )null , uri .toLowerCase ());
84+ }
8185
82- doc .add (new Field ("uri" , uri , Store .YES , Index .UN_TOKENIZED ));
83- doc .add (new Field ("content" , content , Store .YES , Index .TOKENIZED ));
86+ doc .add (new Field ("uri" , uri , Store .YES , Index .UN_TOKENIZED ));
87+ doc .add (new Field ("content" , content , Store .YES , Index .TOKENIZED ));
8488
85- try {
86- this .indexOperation (1 , lang , doc , (String )null );
87- } catch (Exception var15 ) {
88- logger .error (var15 .getMessage (), var15 );
89- }
89+ try {
90+ this .indexOperation (1 , lang , doc , (String )null );
91+ } catch (Exception var15 ) {
92+ Logger .print (var15 .toString ());
93+ }
94+ }
9095
9196 }
9297
9398 protected void deleteContent (String uri ) {
9499 try {
95100 this .indexOperation (2 , (String )null , (Document )null , uri .toLowerCase ());
96101 } catch (Exception var3 ) {
97- logger . error (var3 .getMessage (), var3 );
102+ Logger . print (var3 .toString () );
98103 }
99104
100105 }
@@ -108,7 +113,7 @@ protected synchronized void indexOperation(int op, String lang, Document doc, St
108113 writer .optimize ();
109114 writer .close ();
110115 } catch (Exception var9 ) {
111- logger . error (var9 .getMessage (), var9 );
116+ Logger . print (var9 .toString () );
112117 }
113118 break ;
114119 case 2 :
@@ -130,7 +135,7 @@ protected synchronized void indexOperation(int op, String lang, Document doc, St
130135
131136 reader .close ();
132137 } catch (Exception var8 ) {
133- logger . error (var8 .getMessage (), var8 );
138+ Logger . print (var8 .toString () );
134139 }
135140 }
136141
@@ -152,10 +157,19 @@ private boolean indexExists(String dir) {
152157 private boolean documentExists (String uri , String lang ) {
153158 boolean value = false ;
154159
155- Hits hits = getHits (uri , lang );
156- if (hits .length () > 0 ) {
157- value = true ;
158- }
160+ try {
161+ IndexSearcher searcher = new IndexSearcher (this .indexDirectory );
162+ BooleanQuery query = new BooleanQuery ();
163+ query .add (new TermQuery (new Term ("uri" , uri )), Occur .MUST );
164+ query .add (new TermQuery (new Term ("language" , lang )), Occur .MUST );
165+ Hits hits = searcher .search (query );
166+ searcher .close ();
167+ if (hits .length () > 0 ) {
168+ value = true ;
169+ }
170+ } catch (IOException var7 ) {
171+ Logger .print (var7 .toString ());
172+ }
159173
160174 return value ;
161175 }
@@ -164,12 +178,18 @@ private int getDocumentId(String uri, String lang) {
164178 int value = -1 ;
165179
166180 try {
167- Hits hits = this .getHits (uri , lang );
181+ IndexSearcher searcher = new IndexSearcher (this .indexDirectory );
182+ BooleanQuery query = new BooleanQuery ();
183+ query .add (new TermQuery (new Term ("uri" , uri )), Occur .MUST );
184+ query .add (new TermQuery (new Term ("language" , lang )), Occur .MUST );
185+ Hits hits = searcher .search (query );
168186 if (hits .length () > 0 ) {
169187 value = hits .id (0 );
170188 }
189+
190+ searcher .close ();
171191 } catch (IOException var7 ) {
172- logger . error (var7 .getMessage (), var7 );
192+ Logger . print (var7 .toString () );
173193 }
174194
175195 return value ;
@@ -179,23 +199,6 @@ private boolean isMicrosoftExtension(String filePath) {
179199 return filePath .endsWith (".doc" ) || filePath .endsWith (".docx" ) || filePath .endsWith (".xls" ) || filePath .endsWith (".xlsx" ) || filePath .endsWith (".ppt" ) || filePath .endsWith (".pptx" );
180200 }
181201
182- private Hits getHits (String uri , String lang ) {
183- IndexSearcher searcher = null ;
184- Hits hits = null ;
185- try {
186- searcher = new IndexSearcher (this .indexDirectory );
187- BooleanQuery query = new BooleanQuery ();
188- query .add (new TermQuery (new Term ("uri" , uri )), Occur .MUST );
189- query .add (new TermQuery (new Term ("language" , lang )), Occur .MUST );
190- hits = searcher .search (query );
191- searcher .close ();
192- } catch (IOException e ) {
193- logger .error (e .getMessage (), e );
194- }
195-
196- return hits ;
197- }
198-
199202 private boolean isPdfExtension (String filePath ) {
200203 return filePath .endsWith (".pdf" );
201204 }
0 commit comments