Skip to content

Commit 92d5808

Browse files
LucasLazogueBeta Bot
authored andcommitted
Revert branch 'genexuslabs:feat/move-gxflow-full-text-search-to-gxclasses' into beta
1 parent f9aac1f commit 92d5808

File tree

6 files changed

+87
-86
lines changed

6 files changed

+87
-86
lines changed

gxflowfulltextsearch/pom.xml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@
4242
<artifactId>poi-ooxml</artifactId>
4343
<version>${poi.version}</version>
4444
</dependency>
45-
<dependency>
46-
<groupId>org.apache.logging.log4j</groupId>
47-
<artifactId>log4j-core</artifactId>
48-
<version>${log4j.version}</version>
49-
</dependency>
5045
</dependencies>
5146

5247
<build>

gxflowfulltextsearch/src/main/java/com/genexus/CA/search/AnalyzerManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.apache.lucene.analysis.standard.StandardAnalyzer;
66

77
public class AnalyzerManager {
8-
private static final HashMap hash = new HashMap();
8+
private static HashMap hash = new HashMap();
99

1010
public static Analyzer getAnalyzer(String lang) {
1111
Analyzer analyzer = null;

gxflowfulltextsearch/src/main/java/com/genexus/CA/search/IndexManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.util.HashMap;
44

55
public class IndexManager {
6-
private static final HashMap hash = new HashMap();
6+
private static HashMap hash = new HashMap();
77

88
public static void addContent(String dir, String uri, String lang, String title, String summary, byte fromFile, String body, String filePath) {
99
getIndexer(dir).addContent(uri, lang, title, summary, fromFile, body, filePath);

gxflowfulltextsearch/src/main/java/com/genexus/CA/search/Indexer.java

Lines changed: 47 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package com.genexus.CA.search;
22

3+
import java.io.BufferedReader;
34
import java.io.File;
45
import java.io.FileInputStream;
6+
import java.io.FileReader;
57
import java.io.IOException;
68
import java.util.Iterator;
79
import java.util.List;
8-
9-
import org.apache.logging.log4j.Logger;
10-
import org.apache.logging.log4j.LogManager;
1110
import org.apache.lucene.analysis.standard.StandardAnalyzer;
1211
import org.apache.lucene.document.Document;
1312
import 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
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.genexus.CA.search;
2+
3+
public class Logger {
4+
public static void print(String str) {
5+
System.err.println("CASearch:" + str);
6+
}
7+
}
Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.genexus.CA.search;
22

3-
import org.apache.logging.log4j.LogManager;
4-
import org.apache.logging.log4j.Logger;
53
import org.apache.lucene.document.Document;
64
import org.apache.lucene.index.Term;
75
import org.apache.lucene.queryParser.MultiFieldQueryParser;
@@ -13,41 +11,39 @@
1311
import org.apache.lucene.search.BooleanClause.Occur;
1412

1513
public class Searcher {
16-
private static final Logger logger = LogManager.getLogger("Searcher.class");
14+
public static String search(String dir, String lang, String query, int maxResults, int from) {
15+
StringBuffer buff = new StringBuffer();
1716

18-
public static String search(String dir, String lang, String query, int maxResults, int from) {
19-
StringBuilder buff = new StringBuilder();
17+
try {
18+
IndexSearcher searcher = new IndexSearcher(dir);
19+
String[] fields = new String[]{"title", "content"};
20+
Occur[] clauses = new Occur[]{Occur.SHOULD, Occur.SHOULD};
21+
Query q = MultiFieldQueryParser.parse(query, fields, clauses, AnalyzerManager.getAnalyzer(lang));
22+
if (!lang.equals("IND")) {
23+
Query q2 = new TermQuery(new Term("language", lang));
24+
BooleanQuery bq = new BooleanQuery();
25+
bq.add((Query)q, Occur.MUST);
26+
bq.add(q2, Occur.MUST);
27+
q = bq;
28+
}
2029

21-
try {
22-
IndexSearcher searcher = new IndexSearcher(dir);
23-
String[] fields = new String[]{"title", "content"};
24-
Occur[] clauses = new Occur[]{Occur.SHOULD, Occur.SHOULD};
25-
Query q = MultiFieldQueryParser.parse(query, fields, clauses, AnalyzerManager.getAnalyzer(lang));
26-
if (!lang.equals("IND")) {
27-
Query q2 = new TermQuery(new Term("language", lang));
28-
BooleanQuery bq = new BooleanQuery();
29-
bq.add((Query) q, Occur.MUST);
30-
bq.add(q2, Occur.MUST);
31-
q = bq;
32-
}
30+
Hits hits = searcher.search((Query)q);
31+
String time = "";
32+
int max = hits.length();
33+
buff.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
34+
buff.append("<Results hits = '" + max + "' time = '" + time + "'>");
3335

34-
Hits hits = searcher.search((Query) q);
35-
String time = "";
36-
int max = hits.length();
37-
buff.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
38-
buff.append("<Results hits = '").append(max).append("' time = '").append(time).append("'>");
36+
for(int i = 0; i < max; ++i) {
37+
buff.append("<Result>");
38+
Document doc = hits.doc(i);
39+
buff.append("<URI>" + doc.getField("uri").stringValue() + "</URI>");
40+
buff.append("</Result>");
41+
}
42+
} catch (Exception var15) {
43+
Logger.print(var15.toString());
44+
}
3945

40-
for (int i = 0; i < max; ++i) {
41-
buff.append("<Result>");
42-
Document doc = hits.doc(i);
43-
buff.append("<URI>").append(doc.getField("uri").stringValue()).append("</URI>");
44-
buff.append("</Result>");
45-
}
46-
} catch (Exception var15) {
47-
logger.error(var15.getMessage(), var15);
48-
}
49-
50-
buff.append("</Results>");
51-
return buff.toString();
52-
}
46+
buff.append("</Results>");
47+
return buff.toString();
48+
}
5349
}

0 commit comments

Comments
 (0)