r12283 - in search_server/branches/ngs: index/src/main/java/org/musicbrainz/search/index servlet/src/main/java/org/musicbrainz/search/servlet servlet/src/main/java/org/musicbrainz/search/servlet/v1support

View: New views
1 Messages — Rating Filter:   Alert me  

r12283 - in search_server/branches/ngs: index/src/main/java/org/musicbrainz/search/index servlet/src/main/java/org/musicbrainz/search/servlet servlet/src/main/java/org/musicbrainz/search/servlet/v1support

by root-97 :: Rate this Message:

Reply (Restricted by the Administrator) | Reply to Author | View Threaded | Show Only this Message

Author: ijabz
Date: 2009-11-03 12:37:15 +0000 (Tue, 03 Nov 2009)
New Revision: 12283

Added:
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/v1support/
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/v1support/V1TrackIndexField.java
Modified:
   search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java
   search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java
Log:
Changed the recording fields from trid and track to rid and recording, tyhen added support for V1 by mapping trid to rid and track to recording in QueryParser

Modified: search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java
===================================================================
--- search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java 2009-11-03 00:01:46 UTC (rev 12282)
+++ search_server/branches/ngs/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java 2009-11-03 12:37:15 UTC (rev 12283)
@@ -9,9 +9,8 @@
  */
 public enum RecordingIndexField implements IndexField {
 
-    //TODO trid and track need renaming whilst maintaining v1 compatability on search
-    RECORDING_ID        ("trid", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
-    RECORDING           ("track", Field.Store.YES, Field.Index.ANALYZED),
+    RECORDING_ID        ("rid", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
+    RECORDING           ("recording", Field.Store.YES, Field.Index.ANALYZED),
     ARTIST_ID ("arid", Field.Store.YES, Field.Index.NOT_ANALYZED, new KeywordAnalyzer()),
     ARTIST ("artist", Field.Store.YES, Field.Index.ANALYZED),
     ARTIST_NAME         ("artist_name", Field.Store.YES, Field.Index.ANALYZED),

Modified: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java
===================================================================
--- search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java 2009-11-03 00:01:46 UTC (rev 12282)
+++ search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/RecordingQueryParser.java 2009-11-03 12:37:15 UTC (rev 12283)
@@ -2,6 +2,7 @@
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.index.Term;
+import org.apache.lucene.queryParser.ParseException;
 import org.apache.lucene.queryParser.QueryParser;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.TermQuery;
@@ -9,6 +10,7 @@
 import org.apache.lucene.util.NumericUtils;
 import org.musicbrainz.search.index.RecordingIndexField;
 import org.musicbrainz.search.index.ReleaseGroupType;
+import org.musicbrainz.search.servlet.v1support.V1TrackIndexField;
 
 
 /**
@@ -21,6 +23,13 @@
         super(field, a);
     }
 
+    /**
+     * Convert Numeric Fields
+     *
+     * @param term
+     * @return
+     */
+    @Override
     protected Query newTermQuery(Term term) {
         if (
                 (term.field() == RecordingIndexField.DURATION.getName()) ||
@@ -54,11 +63,43 @@
                 return super.newTermQuery(term);
 
             }
-        } else {
+        }
+        else {
             return super.newTermQuery(term);
         }
     }
 
+    /**
+     * In V1 would search by track field, now been changed to recording, but need to support the old field
+     *
+     * @param field
+     * @param queryText
+     * @return
+     * @throws ParseException
+     */
+    @Override
+    protected Query getFieldQuery(String field, String queryText)  throws ParseException {
+        if( field.equals(V1TrackIndexField.TRACK.getName())) {
+            field=RecordingIndexField.RECORDING.getName();
+        }
+        else if( field.equals(V1TrackIndexField.TRACK_ID.getName())) {
+            field=RecordingIndexField.RECORDING_ID.getName();
+        }
+        return super.getFieldQuery(field,queryText);
+    }
+
+
+    /**
+     *
+     * Convert Numeric Fields
+     *
+     * @param field
+     * @param part1
+     * @param part2
+     * @param inclusive
+     * @return
+     */
+    @Override
     public Query newRangeQuery(String field,
                                String part1,
                                String part2,


Property changes on: search_server/branches/ngs/servlet/src/main/java/org/musicbrainz/search/servlet/v1support/V1TrackIndexField.java
___________________________________________________________________
Added: svn:mergeinfo
   + /search_server/branches/lucene-java/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java:12117-12127
/search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java:12128-12159


_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits