Révision 2130
tmp/org.txm.tigersearch.rcp/groovy/org/txm/scripts/importer/tigersearch/TSImport.groovy (revision 2130) | ||
---|---|---|
81 | 81 |
File tigerBinDir = new File(tigerDir, corpusName) |
82 | 82 |
tigerBinDir.mkdir() |
83 | 83 |
try { |
84 |
IndexBuilderErrorHandler handler = new SimpleErrorHandler(tigerBinDir.getAbsolutePath()); |
|
84 |
IndexBuilderErrorHandler handler = new SimpleErrorHandler(tigerBinDir.getAbsolutePath()) { |
|
85 |
public void setMessage(String message) { } |
|
86 |
public void setNumberOfSentences(int number) { } |
|
87 |
public void setProgressBar(int value) { } |
|
88 |
}; |
|
85 | 89 |
XMLIndexing indexing = new XMLIndexing(corpusName, uri, tigerBinDir.getAbsolutePath(), handler,false); |
86 | 90 |
indexing.startIndexing(); |
87 | 91 |
File logs = new File(tigerBinDir, "indexing.log"); |
tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TSCorpus.java (revision 2130) | ||
---|---|---|
142 | 142 |
*/ |
143 | 143 |
public TSResult query(String query) throws Exception |
144 | 144 |
{ |
145 |
return query(query, -1, -1, -1); |
|
146 |
} |
|
147 |
|
|
148 |
/** |
|
149 |
* Query. |
|
150 |
* |
|
151 |
* @param query the query |
|
152 |
* @return the tS result |
|
153 |
* @throws Exception |
|
154 |
*/ |
|
155 |
public TSResult query(String query, int sent_min, int sent_max, int match_max) throws Exception |
|
156 |
{ |
|
145 | 157 |
if (results.containsKey(query.hashCode())) |
146 | 158 |
return results.get(query.hashCode()); |
147 | 159 |
|
148 |
TSResult rez = new TSResult(query, this); |
|
160 |
TSResult rez = new TSResult(query, this, sent_min, sent_max, match_max);
|
|
149 | 161 |
results.put(query.hashCode(), rez); |
150 | 162 |
return rez; |
151 | 163 |
} |
tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TSResult.java (revision 2130) | ||
---|---|---|
99 | 99 |
* @throws QueryNormalizationException |
100 | 100 |
* @throws Exception |
101 | 101 |
*/ |
102 |
public TSResult(String query, TSCorpus tsCorpus) throws Exception { |
|
102 |
public TSResult(String query, TSCorpus tsCorpus, int sent_min, int sent_max, int match_max) throws Exception {
|
|
103 | 103 |
|
104 | 104 |
this.query = query; |
105 | 105 |
this.manager = tsCorpus.manager; |
106 | 106 |
//this.corpus = tsCorpus; |
107 | 107 |
this.tsCorpus = tsCorpus; |
108 | 108 |
|
109 |
result = tsCorpus.manager.processQuery(query); |
|
109 |
result = tsCorpus.manager.processQuery(query, sent_min, sent_max, match_max);
|
|
110 | 110 |
if (result.size() > 0) { |
111 | 111 |
forest = new ResultForest(result, tsCorpus.manager); |
112 | 112 |
header = forest.getHeader(); |
tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TIGERSearchEngine.java (revision 2130) | ||
---|---|---|
15 | 15 |
import org.txm.searchengine.core.SearchEngine; |
16 | 16 |
import org.txm.searchengine.core.SearchEngineProperty; |
17 | 17 |
import org.txm.searchengine.core.Selection; |
18 |
import org.txm.searchengine.cqp.AbstractCqiClient; |
|
19 |
import org.txm.searchengine.cqp.CQPSearchEngine; |
|
20 |
import org.txm.searchengine.cqp.corpus.CQPCorpus; |
|
18 | 21 |
import org.txm.searchengine.cqp.corpus.MainCorpus; |
19 | 22 |
import org.txm.utils.DeleteDir; |
23 |
import org.txm.utils.logger.Log; |
|
20 | 24 |
|
21 | 25 |
import ims.tiger.index.reader.Index; |
22 | 26 |
import ims.tiger.query.api.MatchResult; |
... | ... | |
59 | 63 |
TSCorpusManager manager = new TSCorpusManager(tigerDirectory, configfile); |
60 | 64 |
|
61 | 65 |
TSCorpus tcorpus = manager.getCorpus(corpus.getRootCorpusBuild().getID()); |
62 |
TSResult result = tcorpus.query(query.getQueryString().replace("\n", " ")); |
|
66 |
TSResult result = null; |
|
67 |
if (corpus == corpus.getRootCorpusBuild() || !(corpus instanceof CQPCorpus)) { // root corpus or something not a CQPCorpus |
|
68 |
result = tcorpus.query(query.getQueryString().replace("\n", " ")); |
|
69 |
} else { |
|
70 |
CQPCorpus cqpCorpus = (CQPCorpus)corpus; |
|
71 |
AbstractCqiClient CQI = CQPSearchEngine.getCqiClient(); |
|
72 |
List<org.txm.searchengine.cqp.corpus.query.Match> matches = cqpCorpus.getMatches(); |
|
73 |
if (matches.size() == 0) { |
|
74 |
return new EmptySelection(query); |
|
75 |
} |
|
76 |
int[] cpos = {matches.get(0).getStart(), matches.get(matches.size()-1).getEnd()}; |
|
77 |
int[] structs = CQI.cpos2Struc(cqpCorpus.getStructuralUnit("s").getProperty("n").getQualifiedName(), cpos); |
|
78 |
if (structs.length == 0) { |
|
79 |
return new EmptySelection(query); |
|
80 |
} |
|
81 |
int sent_min = structs[0]; |
|
82 |
int sent_max = structs[structs.length-1]; |
|
83 |
Log.finest("QUERYING sentences: "+sent_min+" -> "+sent_max); |
|
84 |
result = tcorpus.query(query.getQueryString().replace("\n", " "), sent_min, sent_max+1, -1); |
|
85 |
} |
|
63 | 86 |
MatchResult mresult = result.getMatchResult(); |
64 | 87 |
int size = mresult.size(); |
65 | 88 |
//System.out.println("size: "+size); |
Formats disponibles : Unified diff