[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)