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

[email protected] Thu, 25 Apr 2013 19:57:17 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1UVSI9-0005od-Dp@wiley>
Author: ijabz
Date: 2013-04-25 19:56:51 +0000 (Thu, 25 Apr 2013)
New Revision: 13662

Modified:
   search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/AccentFilter.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/ICUTransformFilter.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/MusicbrainzWordDelimiterFilter.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistBoostDoc.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/LabelBoostDoc.java
   search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/ArtistBoostTest.java
   search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/LabelBoostTest.java
Log:
SEARCH-282#Fixed regression Johanne Sebastian Bach is not the first result when search for artist Bach

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/AccentFilter.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/AccentFilter.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/AccentFilter.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -50,7 +50,7 @@
     }
 
     @Override
-    public boolean incrementToken() throws IOException {
+    public final boolean incrementToken() throws IOException {
         if (!input.incrementToken())
             return false;
 

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/ICUTransformFilter.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/ICUTransformFilter.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/ICUTransformFilter.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -127,7 +127,7 @@
     }
   }
 
-  public boolean incrementToken() throws IOException {
+  public final boolean incrementToken() throws IOException {
 
     /*
      * Wrap the TermAttribute around the replaceable interface, clear the

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/MusicbrainzWordDelimiterFilter.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/MusicbrainzWordDelimiterFilter.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/analysis/MusicbrainzWordDelimiterFilter.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -334,7 +334,7 @@
   }
   
   @Override
-  public boolean incrementToken() throws IOException {
+  public final boolean incrementToken() throws IOException {
     while (true) {
       if (!hasSavedState) {
         // process a new input word

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistBoostDoc.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistBoostDoc.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistBoostDoc.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -46,7 +46,7 @@
 public class ArtistBoostDoc {
 
     //Double the score of this doc if it comes up in search
-    private static float ARTIST_DOC_BOOST = 1.1f;
+    private static float ARTIST_DOC_BOOST = 2.0f;
 
     private static Set<String> artistGuIdSet = new HashSet<String>();
 
@@ -77,8 +77,10 @@
             {
                 if(indexablefield.name().equals(ArtistIndexField.ALIAS.getName()))
                 {
+                    System.out.println("AliasField");
                     Field field = (Field)indexablefield;
                     field.setBoost(ARTIST_DOC_BOOST);
+                    break;
                 }
             }
         }

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-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -281,7 +281,7 @@
         }
 
 
-        //ArtistBoostDoc.boost(artistGuid, doc);
+        ArtistBoostDoc.boost(artistGuid, doc);
         return doc.getLuceneDocument();
     }
 

Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelBoostDoc.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelBoostDoc.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelBoostDoc.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -45,7 +45,7 @@
 public class LabelBoostDoc {
 
     //Double the score of this doc if it comes up in search
-    private static float DOC_BOOST = 1.1f;
+    private static float DOC_BOOST = 2.0f;
 
     private static Set<String> labelGuIdSet = new HashSet<String>();
 
@@ -71,6 +71,7 @@
                 {
                     Field field = (Field)indexablefield;
                     field.setBoost(DOC_BOOST);
+                    break;
                 }
             }
         }

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-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -255,7 +255,7 @@
             }
         }
 
-        //LabelBoostDoc.boost(labelGuid, doc);
+        LabelBoostDoc.boost(labelGuid, doc);
         return doc.getLuceneDocument();
     }
 

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/ArtistBoostTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/ArtistBoostTest.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/ArtistBoostTest.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -52,7 +52,7 @@
 import static org.junit.Assert.assertTrue;
 
 /**
- * Test wildcard search cshold match if search/field contains exclamation mark
+ * Test wildcard search should match if search/field contains exclamation mark
  *
  */
 public class ArtistBoostTest
@@ -67,11 +67,13 @@
         IndexWriterConfig writerConfig = new IndexWriterConfig(LuceneVersion.LUCENE_VERSION,analyzer);
         IndexWriter writer = new IndexWriter(dir, writerConfig);
 
-        //THis field has anid that means it gets doc boost
+        //This field has arid that means it gets doc boost
         Document doc = new Document();
         doc.add(new Field(ArtistIndexField.ARTIST_ID.getName(), "24f1766e-9635-4d58-a4d4-9413f9f98a4c", TextField.TYPE_STORED));
         doc.add(new Field(ArtistIndexField.ARTIST.getName(), "Johann Sebastian Bach", TextField.TYPE_STORED));
-        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "Bach", TextField.TYPE_STORED));
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "bach", TextField.TYPE_STORED));
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "bachhy", TextField.TYPE_STORED));
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "fred", TextField.TYPE_STORED));
         ArtistBoostDoc.boost("24f1766e-9635-4d58-a4d4-9413f9f98a4c",doc);
         writer.addDocument(doc);
 
@@ -80,6 +82,8 @@
         doc.add(new Field(ArtistIndexField.ARTIST_ID.getName(), "9cefb3f2-763c-47a3-bc1e-86f1f35206f0", TextField.TYPE_STORED));
         doc.add(new Field(ArtistIndexField.ARTIST.getName(), "bach", TextField.TYPE_STORED));
         doc.add(new Field(ArtistIndexField.ALIAS.getName(), "bach", TextField.TYPE_STORED));
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "bachhy", TextField.TYPE_STORED));
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "fred", TextField.TYPE_STORED));
         ArtistBoostDoc.boost("9cefb3f2-763c-47a3-bc1e-86f1f35206f0",doc);
         writer.addDocument(doc);
 
@@ -94,7 +98,7 @@
             {
                 System.out.println(sd);
             }
-//            assertTrue(td.scoreDocs[0].score - (td.scoreDocs[1].score * 2) >  -0.2f);
+            assertTrue(td.scoreDocs[0].score - (td.scoreDocs[1].score * 2) >  -0.2f);
 
         }
 

Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/LabelBoostTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/LabelBoostTest.java	2013-04-04 18:56:01 UTC (rev 13661)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/LabelBoostTest.java	2013-04-25 19:56:51 UTC (rev 13662)
@@ -95,8 +95,7 @@
             {
                 System.out.println(sd);
             }
-//            assertTrue(td.scoreDocs[0].score - (td.scoreDocs[1].score * 2) >  -0.1f);
-
+           assertTrue(td.scoreDocs[0].score - (td.scoreDocs[1].score * 2) >  -0.1f);
         }
 
     }