Mercurial Hosting > luan
annotate src/goodjava/lucene/queryparser/SynonymParser.java @ 2026:9c10e37c56f6
minor
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Wed, 29 Oct 2025 21:38:14 -0600 | 
| parents | b04b8fc5f4f4 | 
| children | 
| rev | line source | 
|---|---|
| 1458 | 1 package goodjava.lucene.queryparser; | 
| 
730
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
2 | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
3 import java.util.Map; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
4 import org.apache.lucene.search.Query; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
5 import org.apache.lucene.search.BooleanQuery; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
6 import org.apache.lucene.search.BooleanClause; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
7 import org.apache.lucene.search.SortField; | 
| 
1402
 
27efb1fcbcb5
move luan.lib to goodjava
 
Franklin Schmidt <fschmidt@gmail.com> 
parents: 
1344 
diff
changeset
 | 
8 import goodjava.parser.ParseException; | 
| 
730
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
9 | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
10 | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
11 public class SynonymParser implements FieldParser { | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
12 private final FieldParser fp; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
13 private final Map<String,String[]> synonymMap; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
14 | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
15 public SynonymParser(FieldParser fp,Map<String,String[]> synonymMap) { | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
16 this.fp = fp; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
17 this.synonymMap = synonymMap; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
18 } | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
19 | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
20 protected String[] getSynonyms(String query) { | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
21 return synonymMap.get(query); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
22 } | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
23 | 
| 1459 | 24 public Query getQuery(GoodQueryParser qp,String field,String query) throws ParseException { | 
| 
730
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
25 String[] synonyms = getSynonyms(query); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
26 if( synonyms == null ) | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
27 return fp.getQuery(qp,field,query); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
28 BooleanQuery bq = new BooleanQuery(); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
29 bq.add( fp.getQuery(qp,field,query), BooleanClause.Occur.SHOULD ); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
30 for( String s : synonyms ) { | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
31 bq.add( fp.getQuery(qp,field,s), BooleanClause.Occur.SHOULD ); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
32 } | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
33 return bq; | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
34 } | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
35 | 
| 1459 | 36 public Query getRangeQuery(GoodQueryParser qp,String field,String minQuery,String maxQuery,boolean includeMin,boolean includeMax) throws ParseException { | 
| 
730
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
37 return fp.getRangeQuery(qp,field,minQuery,maxQuery,includeMin,includeMax); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
38 } | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
39 | 
| 1459 | 40 public SortField getSortField(GoodQueryParser qp,String field,boolean reverse) throws ParseException { | 
| 
730
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
41 return fp.getSortField(qp,field,reverse); | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
42 } | 
| 
 
01e68da6983b
add sane-lucene-queryparser source to luan
 
Franklin Schmidt <fschmidt@gmail.com> 
parents:  
diff
changeset
 | 
43 } | 
