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

[email protected] Tue, 26 Feb 2013 09:19:29 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1UAGh7-0007bC-Mb@wiley>
Author: ijabz
Date: 2013-02-26 09:18:25 +0000 (Tue, 26 Feb 2013)
New Revision: 13626

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/LabelBoostDoc.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-243:Improved boosts so that only get boost if searching on the alias field rather than just a generic search as we now have field boots not document boosts

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-02-26 09:06:51 UTC (rev 13625)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistBoostDoc.java	2013-02-26 09:18:25 UTC (rev 13626)
@@ -75,8 +75,11 @@
         if(artistGuIdSet.contains(artistGuid)) {
             for(IndexableField indexablefield:doc.getFields())
             {
-                Field field = (Field)indexablefield;
-                field.setBoost(ARTIST_DOC_BOOST);
+                if(indexablefield.name().equals(ArtistIndexField.ALIAS.getName()))
+                {
+                    Field field = (Field)indexablefield;
+                    field.setBoost(ARTIST_DOC_BOOST);
+                }
             }
         }
     }

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-02-26 09:06:51 UTC (rev 13625)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelBoostDoc.java	2013-02-26 09:18:25 UTC (rev 13626)
@@ -67,8 +67,11 @@
         if(labelGuIdSet.contains(labelGuid)) {
             for(IndexableField indexablefield:doc.getFields())
             {
-                Field field = (Field)indexablefield;
-                field.setBoost(DOC_BOOST);
+                if(indexablefield.name().equals(LabelIndexField.ALIAS.getName()))
+                {
+                    Field field = (Field)indexablefield;
+                    field.setBoost(DOC_BOOST);
+                }
             }
         }
     }

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-02-26 09:06:51 UTC (rev 13625)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/ArtistBoostTest.java	2013-02-26 09:18:25 UTC (rev 13626)
@@ -68,22 +68,24 @@
         //THis field has anid that means it gets doc boost
         Document doc = new Document();
         doc.add(new Field(ArtistIndexField.ARTIST_ID.getName(), "24f1766e-9635-4d58-a4d4-9413f9f98a4c", Field.Store.YES,	Field.Index.ANALYZED));
-        doc.add(new Field(ArtistIndexField.ARTIST.getName(), "Bach", Field.Store.YES,	Field.Index.ANALYZED));
+        doc.add(new Field(ArtistIndexField.ARTIST.getName(), "Johann Sebastian Bach", Field.Store.YES,	Field.Index.ANALYZED));
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "Bach", Field.Store.YES,	Field.Index.ANALYZED));
         ArtistBoostDoc.boost("24f1766e-9635-4d58-a4d4-9413f9f98a4c",doc);
         writer.addDocument(doc);
 
         //this does not
         doc = new Document();
-        doc.add(new Field(ArtistIndexField.ARTIST_ID.getName(), "245345-9635-4d58-a4d4-9413f9f98a4c", Field.Store.YES,	Field.Index.ANALYZED));
+        doc.add(new Field(ArtistIndexField.ARTIST_ID.getName(), "9cefb3f2-763c-47a3-bc1e-86f1f35206f0", Field.Store.YES,	Field.Index.ANALYZED));
         doc.add(new Field(ArtistIndexField.ARTIST.getName(), "bach", Field.Store.YES,	Field.Index.ANALYZED));
-        ArtistBoostDoc.boost("245345-9635-4d58-a4d4-9413f9f98a4c",doc);
+        doc.add(new Field(ArtistIndexField.ALIAS.getName(), "bach", Field.Store.YES,	Field.Index.ANALYZED));
+        ArtistBoostDoc.boost("9cefb3f2-763c-47a3-bc1e-86f1f35206f0",doc);
         writer.addDocument(doc);
 
         writer.close();
 
         IndexSearcher searcher = new IndexSearcher(IndexReader.open(dir));
         {
-            Query q = new QueryParser(LuceneVersion.LUCENE_VERSION, ArtistIndexField.ARTIST.getName(), analyzer).parse("Bach");
+            Query q = new QueryParser(LuceneVersion.LUCENE_VERSION, ArtistIndexField.ALIAS.getName(), analyzer).parse("Bach");
             TopDocs td = searcher.search(q,10);
             assertEquals(2, td.totalHits);
             for(ScoreDoc sd:td.scoreDocs)

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-02-26 09:06:51 UTC (rev 13625)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/analysis/LabelBoostTest.java	2013-02-26 09:18:25 UTC (rev 13626)
@@ -68,7 +68,9 @@
         //THis field has anid that means it gets doc boost
         Document doc = new Document();
         doc.add(new Field(LabelIndexField.LABEL_ID.getName(), "022fe361-596c-43a0-8e22-bad712bb9548", Field.Store.YES,	Field.Index.ANALYZED));
-        doc.add(new Field(LabelIndexField.LABEL.getName(), "Emi", Field.Store.YES,	Field.Index.ANALYZED));
+        doc.add(new Field(LabelIndexField.LABEL.getName(), "Emi Records", Field.Store.YES,	Field.Index.ANALYZED));
+        doc.add(new Field(LabelIndexField.ALIAS.getName(), "Emi", Field.Store.YES,	Field.Index.ANALYZED));
+
         LabelBoostDoc.boost("022fe361-596c-43a0-8e22-bad712bb9548", doc);
         writer.addDocument(doc);
 
@@ -76,6 +78,7 @@
         doc = new Document();
         doc.add(new Field(LabelIndexField.LABEL_ID.getName(), "245345-9635-4d58-a4d4-9413f9f98a4c", Field.Store.YES,	Field.Index.ANALYZED));
         doc.add(new Field(LabelIndexField.LABEL.getName(), "Emi", Field.Store.YES,	Field.Index.ANALYZED));
+        doc.add(new Field(LabelIndexField.ALIAS.getName(), "Emi", Field.Store.YES,	Field.Index.ANALYZED));
         LabelBoostDoc.boost("245345-9635-4d58-a4d4-9413f9f98a4c",doc);
         writer.addDocument(doc);
 
@@ -83,7 +86,7 @@
 
         IndexSearcher searcher = new IndexSearcher(IndexReader.open(dir));
         {
-            Query q = new QueryParser(LuceneVersion.LUCENE_VERSION, LabelIndexField.LABEL.getName(), analyzer).parse("Emi");
+            Query q = new QueryParser(LuceneVersion.LUCENE_VERSION, LabelIndexField.ALIAS.getName(), analyzer).parse("Emi");
             TopDocs td = searcher.search(q,10);
             assertEquals(2, td.totalHits);
             for(ScoreDoc sd:td.scoreDocs)