Révision 2103
| tmp/org.txm.analec.rcp/src/org/txm/macro/urs/AnalecUtils.groovy (revision 2103) | ||
|---|---|---|
| 282 | 282 |
if (debug >= 3) println ""+unit.getDeb()+"->"+unit.getFin()+" "+match.getStart()+"->"+match.getEnd() |
| 283 | 283 |
if (unit.getFin() < match.getStart()) {
|
| 284 | 284 |
if (debug >= 3) "println next unit" |
| 285 |
iCurrentUnit++ |
|
| 285 |
|
|
| 286 |
iCurrentUnit++ |
|
| 286 | 287 |
} else if (unit.getDeb() > match.getEnd()) {
|
| 287 | 288 |
if (debug >= 3) "println next match" |
| 288 |
iCurrentMatch++ |
|
| 289 |
|
|
| 290 |
iCurrentMatch++ |
|
| 289 | 291 |
selectedUnits = [] |
| 290 | 292 |
selectedUnitsPerMatch[iCurrentMatch] = selectedUnits |
| 291 | 293 |
} else {
|
| tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TIGERSearchEngine.java (revision 2103) | ||
|---|---|---|
| 55 | 55 |
File configfile = new File(tigerDirectory, "tigersearch.logprop"); |
| 56 | 56 |
TSCorpusManager manager = new TSCorpusManager(tigerDirectory, configfile); |
| 57 | 57 |
|
| 58 |
TSCorpus tcorpus = manager.getCorpus(corpus.getID()); |
|
| 58 |
|
|
| 59 |
TSCorpus tcorpus = manager.getCorpus(corpus.getRootCorpusBuild().getID()); |
|
| 59 | 60 |
TSResult result = tcorpus.query(query.getQueryString()); |
| 60 | 61 |
MatchResult mresult = result.getMatchResult(); |
| 61 | 62 |
int size = mresult.size(); |
| ... | ... | |
| 117 | 118 |
} |
| 118 | 119 |
} |
| 119 | 120 |
|
| 120 |
return new TIGERSelection(query, new ArrayList<TIGERMatch>(tigerMatchesList)); |
|
| 121 |
//intersect with corpus matches |
|
| 122 |
List<? extends Match> result2 = Match.intersect(corpus.getMatches(), new ArrayList<TIGERMatch>(tigerMatchesList), true); |
|
| 123 |
|
|
| 124 |
return new TIGERSelection(query, result2); |
|
| 121 | 125 |
} |
| 122 | 126 |
|
| 123 | 127 |
@Override |
| tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TIGERSelection.java (revision 2103) | ||
|---|---|---|
| 9 | 9 |
|
| 10 | 10 |
public class TIGERSelection extends Selection {
|
| 11 | 11 |
|
| 12 |
ArrayList<TIGERMatch> matches;
|
|
| 12 |
List<? extends Match> matches;
|
|
| 13 | 13 |
Query query; |
| 14 | 14 |
|
| 15 |
public TIGERSelection(Query query, ArrayList<TIGERMatch> matches2) {
|
|
| 15 |
public TIGERSelection(Query query, List<? extends Match> result2) {
|
|
| 16 | 16 |
this.query = query; |
| 17 |
matches = matches2;
|
|
| 17 |
matches = result2;
|
|
| 18 | 18 |
} |
| 19 | 19 |
|
| 20 | 20 |
@Override |
| tmp/org.txm.tigersearch.rcp/src/org/txm/function/tigersearch/TIGERSearch.java (revision 2103) | ||
|---|---|---|
| 42 | 42 |
|
| 43 | 43 |
this.corpus = getParent(); |
| 44 | 44 |
|
| 45 |
String id = corpus.getName(); |
|
| 45 |
String id = corpus.getRootCorpusBuild().getName();
|
|
| 46 | 46 |
File configfile = new File(corpus.getProjectDirectory(),"tiger/tigersearch.logprop"); |
| 47 | 47 |
File registrydir = new File(corpus.getProjectDirectory(), "tiger"); |
| 48 | 48 |
File tscorpusdir = new File(corpus.getProjectDirectory(), "tiger/"+id); |
| tmp/org.txm.core/src/java/org/txm/objects/Match.java (revision 2103) | ||
|---|---|---|
| 59 | 59 |
public abstract void setStart(int p); |
| 60 | 60 |
|
| 61 | 61 |
public abstract void setTarget(int p); |
| 62 |
|
|
| 63 |
/** |
|
| 64 |
* intersect sorted list of Matches |
|
| 65 |
* @param list1 |
|
| 66 |
* @param sublist2 |
|
| 67 |
* @param strict_inclusion if true the match must be exactly included |
|
| 68 |
* @return the matches of sublist2 included in the matches of list1 |
|
| 69 |
*/ |
|
| 70 |
public static List<Match> intersect(List<? extends Match> list1, List<? extends Match> sublist2, boolean strict_inclusion) {
|
|
| 71 |
ArrayList<Match> result = new ArrayList<>(); |
|
| 72 |
int i1 = 0; |
|
| 73 |
int i2 = 0; |
|
| 74 |
for (; i2 < sublist2.size() && i1 < list1.size(); ) {
|
|
| 75 |
Match m = list1.get(i1); |
|
| 76 |
Match subm = sublist2.get(i2); |
|
| 77 |
if (m.getEnd() < subm.getStart()) {
|
|
| 78 |
i1++; |
|
| 79 |
} else if (subm.getEnd() < m.getStart()) {
|
|
| 80 |
i2++; |
|
| 81 |
} else {
|
|
| 82 |
if (strict_inclusion) {
|
|
| 83 |
if (m.getStart() <= subm.getStart() && subm.getEnd() <= m.getEnd()) {
|
|
| 84 |
result.add(subm); |
|
| 85 |
} |
|
| 86 |
} else {
|
|
| 87 |
result.add(subm); |
|
| 88 |
} |
|
| 89 |
|
|
| 90 |
i2++; |
|
| 91 |
} |
|
| 92 |
} |
|
| 93 |
|
|
| 94 |
return result; |
|
| 95 |
} |
|
| 62 | 96 |
} |
Formats disponibles : Unified diff