[mb-commits] r13713 - 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:26:46 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1VRKZq-0002Zo-KQ@wiley>
Author: ijabz
Date: 2013-10-02 11:26:46 +0000 (Wed, 02 Oct 2013)
New Revision: 13713

Modified:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndex.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndexField.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/CommonTables.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.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/AreaIndexTest.java
Log:
SEARCH-322:Allow searching area by comment

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndex.java	2013-10-02 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndex.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -84,8 +84,8 @@
     public void init(IndexWriter indexWriter, boolean isUpdater) throws SQLException {
 
 
-        addPreparedStatement("PLACE",
-                        "SELECT a.id, a.gid, a.name, a.sort_name, at.name as type, " +
+        addPreparedStatement("AREA",
+                        "SELECT a.id, a.gid, a.name, a.sort_name, a.comment as comment, at.name as type, " +
                         "   begin_date_year, begin_date_month, begin_date_day, " +
                         "  end_date_year, end_date_month, end_date_day, ended" +
                         " FROM area a" +
@@ -217,7 +217,7 @@
             iso3List.getIso31663Code().add(rs.getString("code"));
         }
 
-        st = getPreparedStatement("PLACE");
+        st = getPreparedStatement("AREA");
         st.setInt(1, min);
         st.setInt(2, max);
         rs = st.executeQuery();
@@ -256,6 +256,13 @@
         doc.addField(AreaIndexField.SORTNAME,sortName);
         area.setSortName(sortName);
 
+        String comment = rs.getString("comment");
+        doc.addFieldOrNoValue(AreaIndexField.COMMENT, comment);
+        /* TODO waiting on schema
+        if (!Strings.isNullOrEmpty(comment)) {
+            area.setDisambiguation(comment);
+        }
+        */
         String type = rs.getString("type");
         doc.addFieldOrUnknown(AreaIndexField.TYPE, type);
         if (!Strings.isNullOrEmpty(type)) {

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndexField.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndexField.java	2013-10-02 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/AreaIndexField.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -45,6 +45,7 @@
     ALIAS		("alias",		MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED, new MusicbrainzWithPosGapAnalyzer()),
     AREA        ("area",        MusicBrainzFieldTypes.TEXT_STORED_ANALYZED, new MusicbrainzAnalyzer()),
     BEGIN		("begin",		MusicBrainzFieldTypes.TEXT_NOT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
+    COMMENT		("comment",		MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED),
     END			("end",			MusicBrainzFieldTypes.TEXT_NOT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
     ENDED       ("ended",       MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
     SORTNAME    ("sortname",    MusicBrainzFieldTypes.TEXT_STORED_ANALYZED, new MusicbrainzAnalyzer()),

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java	2013-10-02 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -129,7 +129,7 @@
                 "SELECT a.id, a.gid as gid, a.name, a.sort_name, " +
                         "  artist_type.name as type, a.begin_date_year, a.begin_date_month, a.begin_date_day, " +
                         "  a.end_date_year, a.end_date_month, a.end_date_day,a.ended, " +
-                        "  comment, lower(i.code) as country, lower(gender.name) as gender," +
+                        "  a.comment, lower(i.code) as country, lower(gender.name) as gender," +
                         "  a1.gid as area_gid, a1.name as area_name, a1.sort_name as area_sortname, " +
                         "  a2.gid as beginarea_gid, a2.name as beginarea_name, a2.sort_name as beginarea_sortname, " +
                         "  a3.gid as endarea_gid, a3.name as endarea_name, a3.sort_name as endarea_sortname" +

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/CommonTables.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/CommonTables.java	2013-10-02 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/CommonTables.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -32,7 +32,6 @@
  */
 public class CommonTables  {
 
-    private static final String ENGLISH_ISO_CODE = "en";
     protected Connection dbConnection;
     private   List<String> indexesToBeBuilt ;
 

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java	2013-10-02 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -105,7 +105,7 @@
                 "SELECT label.id, label.gid, label.name as name, label.sort_name, " +
                 "  label_type.name as type, label.begin_date_year, label.begin_date_month, label.begin_date_day, " +
                 "  label.end_date_year, label.end_date_month, label.end_date_day, label.ended," +
-                "  comment, label_code, lower(i.code) as country, " +
+                "  label.comment, label_code, lower(i.code) as country, " +
                 "  a1.gid as area_gid, a1.name as area_name, a1.sort_name as area_sortname " +
                 " FROM label " +
                 "  LEFT JOIN label_type ON label.type = label_type.id " +

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 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -262,6 +262,7 @@
                 "                   gid               uuid," +
                 "                   name              VARCHAR ," +
                 "                   sort_name         VARCHAR ," +
+                "                   comment           VARCHAR ," +
                 "                   type              INTEGER," +
                 "                   edits_pending     INTEGER NOT NULL DEFAULT 0," +
                 "                   last_updated      TIMESTAMP," +

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AreaIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AreaIndexTest.java	2013-10-02 10:50:39 UTC (rev 13712)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AreaIndexTest.java	2013-10-02 11:26:46 UTC (rev 13713)
@@ -37,7 +37,7 @@
     private void addAreaOne() throws Exception {
 
         Statement stmt = conn.createStatement();
-        stmt.addBatch("INSERT INTO area (id, gid,name,sort_name, type, begin_date_year, end_date_year) VALUES (1, 'aa95182f-df0a-3ad6-8bfb-4b63482cd276', 'Afghanistan','Afghanistan',1,1830,2020)");
+        stmt.addBatch("INSERT INTO area (id, gid,name,sort_name, comment, type, begin_date_year, end_date_year) VALUES (1, 'aa95182f-df0a-3ad6-8bfb-4b63482cd276', 'Afghanistan','Afghanistan','A Country in Asia',1,1830,2020)");
         stmt.addBatch("INSERT INTO area_type(id, name) VALUES (1, 'Country')");
         stmt.addBatch("INSERT INTO area_alias (id, area, sort_name, name, primary_for_locale, locale, type ) VALUES (3, 1, 'Afghan', 'Afghany', true, 'en',1)");
         stmt.addBatch("INSERT INTO iso_3166_1(area, code) VALUES (1,'AF')");
@@ -65,6 +65,24 @@
     }
 
     @Test
+    public void testIndexAreaComment() throws Exception {
+
+        addAreaOne();
+        RAMDirectory ramDir = new RAMDirectory();
+        createIndex(ramDir);
+
+        IndexReader ir = DirectoryReader.open(ramDir);
+        assertEquals(2, ir.numDocs());
+        {
+            checkTerm(ir, AreaIndexField.COMMENT, "a");
+            checkTermX(ir, AreaIndexField.COMMENT, "asia",1);
+            checkTermX(ir, AreaIndexField.COMMENT, "country",2);
+            checkTermX(ir, AreaIndexField.COMMENT, "in",3);
+        }
+        ir.close();
+    }
+
+    @Test
     public void testIndexAreaSortName() throws Exception {
 
         addAreaOne();
@@ -225,6 +243,9 @@
             assertEquals("aa95182f-df0a-3ad6-8bfb-4b63482cd276", area.getId());
             assertEquals("Afghanistan", area.getName());
             assertEquals("Afghanistan", area.getSortName());
+            /* TODO
+            assertEquals("A Country in Asia", area.getDisambuguation())
+             */
             assertEquals("Country", area.getType());
             assertNotNull(area.getAliasList());
             assertEquals(1,area.getAliasList().getAlias().size());