lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Taylor <paul_t...@fastmail.fm>
Subject Re: How do you map a query for fieldx to fieldy
Date Tue, 03 Nov 2009 11:54:28 GMT
Paul Taylor wrote:
> For backwards compatabiity I have to change queries for the track 
> field to the recording field. I did this by overriding  
> QueryParser.newQuery() as follows
>
> protected Query newTermQuery(Term term) {
>        if ( term.field() == "track" ) {
>            return super.newTermQuery(new Term("recording"term.text()));
>        }
>        else {
>            return super.newTermQuery(term);
>        }
>    }
>
> this seemed to work, but then I realised it didnt work for 
> phrasequeries so I have to override QueryParser.newPhraseQuery() but 
> now thinking will fail for wilcard queries ectera. Is there just one 
> method I can override to deal with this.

FYI, did this instead and seems to work

protected Query getFieldQuery(String field, String queryText)  throws 
ParseException {
        if( field.equals("track") {
            field=RecordingIndexField.RECORDING.getName();
        }
        return super.getFieldQuery(field,queryText);
}

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message