Mercurial Hosting > luan
annotate src/goodjava/lucene/queryparser/SynonymParser.java @ 2023:544ccce564f6
minor
| author | Franklin Schmidt <fschmidt@gmail.com> | 
|---|---|
| date | Mon, 20 Oct 2025 17:34: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: 
1344diff
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 } | 
