[mb-commits] r13714 - in search_server/trunk/index/src: main/java/org/musicbrainz/search/index test/java/org/musicbrainz/search/index

[email protected] Wed, 02 Oct 2013 11:42:15 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1VRKop-0002jR-LX@wiley>
Author: ijabz
Date: 2013-10-02 11:42:15 +0000 (Wed, 02 Oct 2013)
New Revision: 13714

Modified:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java
Log:
SEARCH-323:Allow searching for recording by video

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java	2013-10-02 11:26:46 UTC (rev 13713)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndex.java	2013-10-02 11:42:15 UTC (rev 13714)
@@ -246,7 +246,7 @@
                         " WHERE r.id in ";
 
         addPreparedStatement("RECORDINGS",
-                "SELECT re.id as recordingId, re.gid as trackid, re.length as duration, re.name as trackname, re.comment " +
+                "SELECT re.id as recordingId, re.gid as trackid, re.length as duration, re.name as trackname, re.comment, re.video " +
                         " FROM recording re " +
                         " WHERE re.id BETWEEN ? AND ?");
     }
@@ -725,6 +725,13 @@
             recording.setDisambiguation(comment);
         }
 
+        boolean video = rs.getBoolean("video");
+        if(video) {
+            doc.addField(RecordingIndexField.VIDEO, Boolean.toString(video));
+            //TODO waiting on schema
+            //recording.setVideo("true);
+        }
+
         if (isrcs.containsKey(id)) {
             IsrcList isrcList = of.createIsrcList();
             for (String nextIsrc : isrcs.get(id)) {

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java	2013-10-02 11:26:46 UTC (rev 13713)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/RecordingIndexField.java	2013-10-02 11:42:15 UTC (rev 13714)
@@ -46,6 +46,7 @@
     TAG		                ("tag",		            MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED, new MusicbrainzWithPosGapAnalyzer()),
     TRACKNUM			    ("tnum",		        MusicBrainzFieldTypes.TEXT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
     TRACK_ID                ("tid",		            MusicBrainzFieldTypes.TEXT_NOT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
+    VIDEO                  ("ended",                MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
     RECORDING_STORE		     ("recordingstore",    MusicBrainzFieldTypes.TEXT_STORED_NOT_INDEXED),
 
 

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java	2013-10-02 11:26:46 UTC (rev 13713)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java	2013-10-02 11:42:15 UTC (rev 13714)
@@ -659,7 +659,8 @@
                 "  length integer," +
                 "  comment character varying(255)," +
                 "  last_updated timestamp," +
-                "  edits_pending integer NOT NULL DEFAULT 0" +
+                "  edits_pending integer NOT NULL DEFAULT 0," +
+                "  video BOOLEAN NOT NULL DEFAULT FALSE" +
                 ")");
 
         stmt.addBatch("CREATE TABLE recording_tag" +

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java	2013-10-02 11:26:46 UTC (rev 13713)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/RecordingIndexTest.java	2013-10-02 11:42:15 UTC (rev 13714)
@@ -79,8 +79,8 @@
 
         stmt.addBatch("INSERT INTO track (id, gid, recording, medium, position, number, name, artist_credit, length) "
                 + " VALUES (1, 'c3b8dbc9-c1ff-4743-9015-8d762819134e', 1, 1, 4, 'A4', 'Do It Cleans', 1, 33100)");
-        stmt.addBatch("INSERT INTO recording (id, gid, name, artist_credit, length, comment)"
-                + " VALUES (1, '2f250ed2-6285-40f1-aa2a-14f1c05e9765', 'Do It Clean', 1, 33000, 'demo')");
+        stmt.addBatch("INSERT INTO recording (id, gid, name, artist_credit, length, comment, video)"
+                + " VALUES (1, '2f250ed2-6285-40f1-aa2a-14f1c05e9765', 'Do It Clean', 1, 33000, 'demo', true)");
 
         stmt.addBatch("INSERT INTO isrc (id, recording, isrc) VALUES (1, 1, 'FRAAA9000038')");
         stmt.addBatch("INSERT INTO isrc (id, recording, isrc) VALUES (2, 1, 'FRAAA9100082')");
@@ -304,7 +304,27 @@
         ir.close();
     }
 
+    /**
+     * Release Group Field
+     *
+     * @throws Exception exception
+     */
+    @Test
+    public void testIsVideo() throws Exception {
 
+        addTrackOne();
+        RAMDirectory ramDir = new RAMDirectory();
+        createIndex(ramDir);
+
+        IndexReader ir = DirectoryReader.open(ramDir);
+        assertEquals(2, ir.numDocs());
+        {
+            checkTerm(ir, RecordingIndexField.VIDEO, "true");
+        }
+        ir.close();
+    }
+
+
     /**
      * Old Type Field
      *