[mb-commits] r13681 - in search_server/trunk: index/src/main/java/org/musicbrainz/search/index index/src/test/java/org/musicbrainz/search/index servlet/src/main/java/org/musicbrainz/search/servlet/mmd1 servlet/src/main/java/org/musicbrainz/search/servlet/mmd2 servlet/src/test/java/org/musicbrainz/search/servlet
[email protected] Thu, 09 May 2013 14:50:05 +0000
| Newsgroups | gmane.comp.audio.musicbrainz.cvs |
|---|---|
| Message-ID | <E1UaSAX-0000tr-Rh@wiley> |
Author: ijabz
Date: 2013-05-09 14:50:05 +0000 (Thu, 09 May 2013)
New Revision: 13681
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/LabelIndex.java
search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndexField.java
search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.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/ArtistIndexTest.java
search_server/trunk/index/src/test/java/org/musicbrainz/search/index/LabelIndexTest.java
search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java
search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java
search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java
search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelWriter.java
search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java
search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/SearchAll2Test.java
Log:
SEARCH-268:Add extended alias info to the ws search results for labels.
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-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ArtistIndex.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -307,7 +307,7 @@
lifespan.setBegin(begin);
}
if(!Strings.isNullOrEmpty(end)) {
- lifespan.setBegin(end);
+ lifespan.setEnd(end);
}
lifespan.setEnded(Boolean.toString(ended));
@@ -322,6 +322,7 @@
if (!Strings.isNullOrEmpty(country)) {
artist.setCountry(country.toUpperCase(Locale.US));
}
+
String gender = rs.getString("gender");
if (gender != null) {
doc.addField(ArtistIndexField.GENDER, gender);
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-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndex.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -19,20 +19,19 @@
package org.musicbrainz.search.index;
+import com.google.common.base.Strings;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.search.similarities.Similarity;
-import org.musicbrainz.mmd2.Tag;
+import org.musicbrainz.mmd2.*;
import org.musicbrainz.search.MbDocument;
import org.musicbrainz.search.analysis.MusicbrainzSimilarity;
import java.io.IOException;
+import java.math.BigInteger;
import java.sql.*;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
public class LabelIndex extends DatabaseIndex {
@@ -93,14 +92,17 @@
" INNER JOIN tag ON tag=id " +
" WHERE label between ? AND ?");
+ addPreparedStatement("ALIASES",
+ "SELECT a.label as label, n.name as alias, sn.name as alias_sortname, a.primary_for_locale, a.locale, att.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" +
+ " FROM label_alias a" +
+ " JOIN label_name n ON (a.name = n.id) " +
+ " JOIN label_name sn ON (a.sort_name = sn.id) " +
+ " LEFT JOIN label_alias_type att on (a.type=att.id)" +
+ " WHERE label BETWEEN ? AND ?" +
+ " ORDER BY label, alias, alias_sortname");
- addPreparedStatement("ALIASES",
- "SELECT label_alias.label as label, n.name as alias " +
- " FROM label_alias " +
- " JOIN label_name n ON (label_alias.name = n.id) " +
- " WHERE label BETWEEN ? AND ?");
-
addPreparedStatement("LABELS",
"SELECT label.id, gid, n0.name as name, n1.name as sort_name, " +
" label_type.name as type, begin_date_year, begin_date_month, begin_date_day, " +
@@ -146,6 +148,8 @@
public void indexData(IndexWriter indexWriter, int min, int max) throws SQLException, IOException {
+ ObjectFactory of = new ObjectFactory();
+
// Get Tags
PreparedStatement st = getPreparedStatement("TAGS");
st.setInt(1, min);
@@ -159,22 +163,47 @@
// Get labels aliases
- Map<Integer, List<String>> aliases = new HashMap<Integer, List<String>>();
+ //Aliases
+ Map<Integer, Set<Alias>> aliases = new HashMap<Integer, Set<Alias>>();
st = getPreparedStatement("ALIASES");
st.setInt(1, min);
st.setInt(2, max);
rs = st.executeQuery();
while (rs.next()) {
- int labelId = rs.getInt("label");
-
- List<String> list;
- if (!aliases.containsKey(labelId)) {
- list = new LinkedList<String>();
- aliases.put(labelId, list);
+ int artistId = rs.getInt("label");
+ Set<Alias> list;
+ if (!aliases.containsKey(artistId)) {
+ list = new LinkedHashSet<Alias>();
+ aliases.put(artistId, list);
} else {
- list = aliases.get(labelId);
+ list = aliases.get(artistId);
}
- list.add(rs.getString("alias"));
+ Alias alias = of.createAlias();
+ alias.setContent(rs.getString("alias"));
+ alias.setSortName(rs.getString("alias_sortname"));
+ boolean isPrimary = rs.getBoolean("primary_for_locale");
+ if(isPrimary) {
+ alias.setPrimary("primary");
+ }
+ String locale = rs.getString("locale");
+ if(locale!=null) {
+ alias.setLocale(locale);
+ }
+ String type = rs.getString("type");
+ if(type!=null) {
+ alias.setType(type);
+ }
+
+ String begin = Utils.formatDate(rs.getInt("begin_date_year"), rs.getInt("begin_date_month"), rs.getInt("begin_date_day"));
+ if(!Strings.isNullOrEmpty(begin)) {
+ alias.setBeginDate(begin);
+ }
+
+ String end = Utils.formatDate(rs.getInt("end_date_year"), rs.getInt("end_date_month"), rs.getInt("end_date_day"));
+ if(!Strings.isNullOrEmpty(end)) {
+ alias.setEndDate(end);
+ }
+ list.add(alias);
}
rs.close();
@@ -197,65 +226,116 @@
public Document documentFromResultSet(ResultSet rs,
Map<Integer,List<Tag>> tags,
Map<Integer, List<String>> ipiCodes,
- Map<Integer, List<String>> aliases) throws SQLException {
+ Map<Integer, Set<Alias>> aliases) throws SQLException {
MbDocument doc = new MbDocument();
+
+ ObjectFactory of = new ObjectFactory();
+ Label label = of.createLabel();
+
int labelId = rs.getInt("id");
String labelGuid = rs.getString("gid");
doc.addField(LabelIndexField.LABEL_ID, labelGuid);
+ label.setId(labelGuid);
+
String name=rs.getString("name");
doc.addField(LabelIndexField.LABEL,name );
+ label.setName(name);
//Accented artist
doc.addField(LabelIndexField.LABEL_ACCENT, name );
- doc.addField(LabelIndexField.SORTNAME, rs.getString("sort_name"));
- doc.addFieldOrUnknown(LabelIndexField.TYPE, rs.getString("type"));
- doc.addFieldOrNoValue(LabelIndexField.COMMENT, rs.getString("comment"));
- doc.addFieldOrUnknown(LabelIndexField.COUNTRY, rs.getString("country"));
+ String sortName = rs.getString("sort_name");
+ doc.addField(LabelIndexField.SORTNAME, sortName);
+ label.setSortName(sortName);
- if(rs.getBoolean("ended")) {
- doc.addFieldOrUnknown(LabelIndexField.ENDED, "true");
+ String type = rs.getString("type");
+ doc.addFieldOrUnknown(LabelIndexField.TYPE, type);
+ if (!Strings.isNullOrEmpty(type)) {
+ label.setType(type);
}
- else {
- doc.addFieldOrUnknown(LabelIndexField.ENDED, "false");
+
+ String comment = rs.getString("comment");
+ doc.addFieldOrNoValue(LabelIndexField.COMMENT, comment);
+ if (!Strings.isNullOrEmpty(comment)) {
+ label.setDisambiguation(comment);
}
- doc.addNonEmptyField(LabelIndexField.BEGIN,
- Utils.formatDate(rs.getInt("begin_date_year"), rs.getInt("begin_date_month"), rs.getInt("begin_date_day")));
+ String country = rs.getString("country");
+ doc.addFieldOrUnknown(LabelIndexField.COUNTRY, country);
+ if (!Strings.isNullOrEmpty(country)) {
+ label.setCountry(country.toUpperCase(Locale.US));
+ }
- doc.addNonEmptyField(LabelIndexField.END,
- Utils.formatDate(rs.getInt("end_date_year"), rs.getInt("end_date_month"), rs.getInt("end_date_day")));
+ boolean ended = rs.getBoolean("ended");
+ doc.addFieldOrUnknown(LabelIndexField.ENDED, Boolean.toString(ended));
+ String begin = Utils.formatDate(rs.getInt("begin_date_year"), rs.getInt("begin_date_month"), rs.getInt("begin_date_day"));
+ doc.addNonEmptyField(LabelIndexField.BEGIN, begin);
+
+ String end = Utils.formatDate(rs.getInt("end_date_year"), rs.getInt("end_date_month"), rs.getInt("end_date_day"));
+ doc.addNonEmptyField(LabelIndexField.END, end);
+
+ LifeSpan lifespan = of.createLifeSpan();
+ label.setLifeSpan(lifespan);
+ if(!Strings.isNullOrEmpty(begin)) {
+ lifespan.setBegin(begin);
+ }
+ if(!Strings.isNullOrEmpty(end)) {
+ lifespan.setEnd(end);
+ }
+ lifespan.setEnded(Boolean.toString(ended));
+
+
int labelcode = rs.getInt("label_code");
if (labelcode > 0) {
doc.addField(LabelIndexField.CODE, labelcode);
+ label.setLabelCode(BigInteger.valueOf(labelcode));
}
else {
doc.addField(LabelIndexField.CODE,Index.NO_VALUE);
}
if (aliases.containsKey(labelId)) {
- for (String alias : aliases.get(labelId)) {
- doc.addField(LabelIndexField.ALIAS, alias);
+ AliasList aliasList = of.createAliasList();
+ for (Alias nextAlias : aliases.get(labelId)) {
+ doc.addField(LabelIndexField.ALIAS, nextAlias.getContent());
+ if(!nextAlias.getSortName().equals(nextAlias.getContent())) {
+ doc.addField(LabelIndexField.ALIAS, nextAlias.getSortName());
+ }
+ aliasList.getAlias().add(nextAlias);
}
+ label.setAliasList(aliasList);
}
+
if (tags.containsKey(labelId)) {
- for (Tag tag : tags.get(labelId)) {
- doc.addField(LabelIndexField.TAG, tag.getName());
- doc.addField(LabelIndexField.TAGCOUNT, tag.getCount().toString());
+ TagList tagList = of.createTagList();
+ for (Tag nextTag : tags.get(labelId)) {
+ Tag tag = of.createTag();
+ doc.addField(LabelIndexField.TAG, nextTag.getName());
+ tag.setName(nextTag.getName());
+ tag.setCount(new BigInteger(nextTag.getCount().toString()));
+ tagList.getTag().add(tag);
}
+ label.setTagList(tagList);
}
if (ipiCodes.containsKey(labelId)) {
+ IpiList ipiList = of.createIpiList();
for (String ipiCode : ipiCodes.get(labelId)) {
doc.addField(LabelIndexField.IPI, ipiCode);
+ ipiList.getIpi().add(ipiCode);
}
+ label.setIpiList(ipiList);
}
LabelBoostDoc.boost(labelGuid, doc);
+
+ String store = MMDSerializer.serialize(label);
+ doc.addField(LabelIndexField.LABEL_STORE, store);
+
return doc.getLuceneDocument();
}
Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndexField.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndexField.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/LabelIndexField.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -39,21 +39,21 @@
public enum LabelIndexField implements IndexField {
ID ("_id", MusicBrainzFieldTypes.TEXT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
- ALIAS ("alias", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED, new MusicbrainzWithPosGapAnalyzer()),
- BEGIN ("begin", MusicBrainzFieldTypes.TEXT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
- COMMENT ("comment", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED),
- CODE ("code", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED, new StripLeadingZeroesAnalyzer()),
- COUNTRY ("country", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED),
- END ("end", MusicBrainzFieldTypes.TEXT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
- ENDED ("ended", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
- IPI ("ipi", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
+ ALIAS ("alias", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED, new MusicbrainzWithPosGapAnalyzer()),
+ BEGIN ("begin", MusicBrainzFieldTypes.TEXT_NOT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
+ COMMENT ("comment", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED),
+ CODE ("code", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED, new StripLeadingZeroesAnalyzer()),
+ COUNTRY ("country", 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()),
+ IPI ("ipi", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
LABEL ("label", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED, new MusicbrainzAnalyzer()),
LABEL_ACCENT("labelaccent", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED, new MusicbrainzKeepAccentsAnalyzer()),
LABEL_ID ("laid", MusicBrainzFieldTypes.TEXT_STORED_NOT_ANALYZED_NO_NORMS, new KeywordAnalyzer()),
- SORTNAME ("sortname", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED),
- TYPE ("type", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
- TAG ("tag", MusicBrainzFieldTypes.TEXT_STORED_ANALYZED, new MusicbrainzWithPosGapAnalyzer()),
- TAGCOUNT ("tagcount", MusicBrainzFieldTypes.TEXT_STORED_NOT_INDEXED),
+ SORTNAME ("sortname", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED),
+ TAG ("tag", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED, new MusicbrainzWithPosGapAnalyzer()),
+ TYPE ("type", MusicBrainzFieldTypes.TEXT_NOT_STORED_ANALYZED_NO_NORMS, new CaseInsensitiveKeywordAnalyzer()),
+ LABEL_STORE ("labelstore", MusicBrainzFieldTypes.TEXT_STORED_NOT_INDEXED),
;
private String name;
Modified: search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java
===================================================================
--- search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/main/java/org/musicbrainz/search/index/ReleaseIndex.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -563,7 +563,7 @@
medium.setDiscList(discList);
mediumList.getMedium().add(medium);
-
+ release.setMediumList(mediumList);
}
//Num of mediums on the release
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-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/AbstractIndexTest.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -420,16 +420,18 @@
" id serial NOT NULL," +
" label integer NOT NULL," +
" name integer NOT NULL," +
- " sort_name INTEGER," +
+ " locale text," +
+ " last_updated timestamp," +
+ " edits_pending integer NOT NULL DEFAULT 0," +
" type INTEGER," +
+ " sort_name INTEGER NOT NULL," +
" begin_date_year SMALLINT," +
" begin_date_month SMALLINT," +
" begin_date_day SMALLINT," +
" end_date_year SMALLINT," +
" end_date_month SMALLINT," +
" end_date_day SMALLINT," +
- " last_updated timestamp," +
- " edits_pending integer NOT NULL DEFAULT 0" +
+ " primary_for_locale BOOLEAN" +
")");
stmt.addBatch("CREATE TABLE label_alias_type (" +
Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ArtistIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ArtistIndexTest.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ArtistIndexTest.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -199,7 +199,6 @@
assertEquals(2, ir.numDocs());
{
checkTerm(ir, ArtistIndexField.IPI, "10001");
- Document doc = ir.document(1);
}
ir.close();
}
Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/LabelIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/LabelIndexTest.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/LabelIndexTest.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -8,11 +8,16 @@
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.NumericUtils;
import org.junit.Test;
+import org.musicbrainz.mmd2.Artist;
+import org.musicbrainz.mmd2.Label;
+import org.musicbrainz.mmd2.LifeSpan;
import java.math.BigInteger;
import java.sql.Statement;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
public class LabelIndexTest extends AbstractIndexTest {
@@ -39,13 +44,13 @@
Statement stmt = conn.createStatement();
- stmt.addBatch("INSERT INTO label_name (id, name) VALUES (1, '4AD')");
- stmt.addBatch("INSERT INTO label_name (id, name) VALUES (2, '4AD US')");
+ stmt.addBatch("INSERT INTO label_name (id, name) VALUES (1, '4AD')");
+ stmt.addBatch("INSERT INTO label_name (id, name) VALUES (2, '4AD US')");
stmt.addBatch("INSERT INTO label (id, gid, name, sort_name, type, label_code, begin_date_year, ended) " +
"VALUES (1, 'a539bb1e-f2e1-4b45-9db8-8053841e7503', 1, 1, 4, 5807, 1979, true)");
stmt.addBatch("INSERT INTO label_ipi (label, ipi) values(1,'1001')");
- stmt.addBatch("INSERT INTO label_alias (label, name) VALUES (1, 2)");
+ stmt.addBatch("INSERT INTO label_alias (label, name, sort_name) VALUES (1, 2, 2)");
stmt.executeBatch();
stmt.close();
@@ -90,7 +95,7 @@
stmt.addBatch("INSERT INTO label (id, gid, name, sort_name, area, ended)" +
"VALUES (3, 'a539bb1e-f2e1-4b45-9db8-8053841e7503', 1, 1, 1, true)");
- stmt.addBatch("INSERT INTO label_alias (label, name) VALUES (3, 2)");
+ stmt.addBatch("INSERT INTO label_alias (label, name,sort_name) VALUES (3, 2, 2)");
stmt.addBatch("INSERT INTO tag (id, name, ref_count) VALUES (1, 'Goth', 2);");
stmt.addBatch("INSERT INTO label_tag (label, tag, count) VALUES (3, 1, 10)");
@@ -109,11 +114,8 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.LABEL_ID.getName()).length);
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.getField(LabelIndexField.LABEL_ID.getName()).stringValue());
- assertEquals(1, doc.getFields(LabelIndexField.COUNTRY.getName()).length);
- assertEquals("af", doc.getField(LabelIndexField.COUNTRY.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7503");
+ checkTerm(ir, LabelIndexField.COUNTRY, "af");
}
ir.close();
@@ -130,9 +132,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.COUNTRY.getName()).length);
- assertEquals("unknown", doc.getField(LabelIndexField.COUNTRY.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.COUNTRY, "unknown");
}
ir.close();
@@ -148,9 +148,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.COUNTRY.getName()).length);
- assertEquals("af", doc.getField(LabelIndexField.COUNTRY.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.COUNTRY, "af");
}
ir.close();
@@ -166,9 +164,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.IPI.getName()).length);
- assertEquals("1001", doc.getField(LabelIndexField.IPI.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.IPI, "1001");
}
ir.close();
@@ -184,9 +180,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.COMMENT.getName()).length);
- assertEquals("-", doc.getField(LabelIndexField.COMMENT.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.COMMENT, "-");
}
ir.close();
}
@@ -201,9 +195,10 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.COMMENT.getName()).length);
- assertEquals("DO NOT EDIT THIS LABEL", doc.getField(LabelIndexField.COMMENT.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.COMMENT, "do");
+ checkTermX(ir, LabelIndexField.COMMENT, "edit", 1);
+ checkTermX(ir, LabelIndexField.COMMENT, "label",2);
+ checkTermX(ir, LabelIndexField.COMMENT, "not",3);
}
ir.close();
}
@@ -219,9 +214,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.CODE.getName()).length);
- assertEquals("-", doc.getField(LabelIndexField.CODE.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.CODE, "-");
}
ir.close();
}
@@ -236,9 +229,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.CODE.getName()).length);
- assertEquals("5807", doc.get(LabelIndexField.CODE.getName()));
+ checkTerm(ir, LabelIndexField.CODE, "5807");
}
ir.close();
}
@@ -253,9 +244,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.CODE.getName()).length);
- assertEquals("99998", doc.get(LabelIndexField.CODE.getName()));
+ checkTerm(ir, LabelIndexField.CODE, "99998");
}
ir.close();
}
@@ -275,8 +264,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.ALIAS.getName()).length);
+ checkTerm(ir, LabelIndexField.ALIAS, "4ad");
}
ir.close();
}
@@ -296,9 +284,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.BEGIN.getName()).length);
- assertEquals("1979", doc.getField(LabelIndexField.BEGIN.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.BEGIN, "1979");
}
ir.close();
}
@@ -314,9 +300,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.ENDED.getName()).length);
- assertEquals("true", doc.getField(LabelIndexField.ENDED.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.ENDED, "true");
}
ir.close();
}
@@ -332,9 +316,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.ENDED.getName()).length);
- assertEquals("false", doc.getField(LabelIndexField.ENDED.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.ENDED, "false");
}
ir.close();
}
@@ -374,9 +356,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.END.getName()).length);
- assertEquals("2009-04", doc.getField(LabelIndexField.END.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.END, "2009-04");
}
ir.close();
}
@@ -413,9 +393,7 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
- Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.TYPE.getName()).length);
- assertEquals("Original Production", doc.getField(LabelIndexField.TYPE.getName()).stringValue());
+ checkTerm(ir, LabelIndexField.TYPE, "original production");
}
ir.close();
}
@@ -435,17 +413,72 @@
IndexReader ir = DirectoryReader.open(ramDir);
assertEquals(2, ir.numDocs());
{
+ checkTerm(ir, LabelIndexField.TAG, "goth");
+ }
+ ir.close();
+ }
+
+ /**
+ * @throws Exception exception
+ */
+ @Test
+ public void testStoredLabel1() throws Exception {
+
+ addLabelOne();
+ RAMDirectory ramDir = new RAMDirectory();
+ createIndex(ramDir);
+
+ IndexReader ir = DirectoryReader.open(ramDir);
+ assertEquals(2, ir.numDocs());
+ {
+
Document doc = ir.document(1);
- assertEquals(1, doc.getFields(LabelIndexField.LABEL.getName()).length);
- assertEquals(1, doc.getFields(LabelIndexField.TAG.getName()).length);
- assertEquals("Goth", doc.getField(LabelIndexField.TAG.getName()).stringValue());
- assertEquals(1, doc.getFields(LabelIndexField.TAGCOUNT.getName()).length);
- assertEquals("10", doc.getField(LabelIndexField.TAGCOUNT.getName()).stringValue());
+ Label label = (Label) MMDSerializer.unserialize(doc.get(LabelIndexField.LABEL_STORE.getName()), Label.class);
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", label.getId());
+ assertEquals("4AD", label.getName());
+ assertNull(label.getCountry());
+ assertEquals("4AD", label.getSortName());
+ assertNull(label.getDisambiguation());
+ assertEquals("Original Production",label.getType());
+ assertEquals("4AD",label.getSortName());
}
ir.close();
}
+ /**
+ * @throws Exception exception
+ */
+ @Test
+ public void testStoredLabel2() throws Exception {
+ addLabelTwo();
+ RAMDirectory ramDir = new RAMDirectory();
+ createIndex(ramDir);
+
+ IndexReader ir = DirectoryReader.open(ramDir);
+ assertEquals(2, ir.numDocs());
+ {
+
+ Document doc = ir.document(1);
+ Label label = (Label) MMDSerializer.unserialize(doc.get(LabelIndexField.LABEL_STORE.getName()), Label.class);
+ assertEquals("d8caa692-704d-412b-a410-4fbcf5b9c796", label.getId());
+ assertEquals("MusicBrainz Data Testing Label", label.getName());
+ assertEquals("CA", label.getCountry());
+ assertEquals("Data Testing Label, MusicBrainz",label.getSortName());
+ assertEquals("DO NOT EDIT THIS LABEL", label.getDisambiguation());
+ assertEquals("Distributor",label.getType());
+ assertEquals("Data Testing Label, MusicBrainz",label.getSortName());
+ LifeSpan lifespan = label.getLifeSpan();
+ assertNotNull(lifespan);
+ assertEquals("2009-01-01",lifespan.getBegin());
+ assertEquals("false",lifespan.getEnded());
+ assertEquals("2009-04",lifespan.getEnd());
+
+ }
+ ir.close();
+ }
+
+
// /**
// * Checks record with type = null is set to unknown
// *
Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/ReleaseIndexTest.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -883,6 +883,7 @@
assertEquals("c3b8dbc9-c1ff-4743-9015-8d762819134e", release.getId());
assertEquals("Crocodiles (bonus disc)", release.getTitle());
assertEquals("B00005NTQ7", release.getAsin());
+ assertNotNull(release.getMediumList());
}
@@ -908,6 +909,7 @@
assertEquals("c3b8dbc9-c1ff-4743-9015-8d762819134e", release.getId());
assertEquals("Crocodiles (bonus disc)", release.getTitle());
assertEquals("B00005NTQ7", release.getAsin());
+ assertNotNull(release.getMediumList());
ReleaseEventList rel = release.getReleaseEventList();
assertNotNull(rel);
assertEquals(4,rel.getReleaseEvent().size());
Modified: search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java
===================================================================
--- search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/index/src/test/java/org/musicbrainz/search/index/WorkIndexTest.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -311,7 +311,7 @@
assertEquals(1, doc.getFields(WorkIndexField.TAG.getName()).length);
assertEquals("Classical", doc.getField(WorkIndexField.TAG.getName()).stringValue());
assertEquals(1, doc.getFields(WorkIndexField.TAGCOUNT.getName()).length);
- assertEquals("10", doc.getField(LabelIndexField.TAGCOUNT.getName()).stringValue());
+ assertEquals("10", doc.getField(WorkIndexField.TAGCOUNT.getName()).stringValue());
}
ir.close();
}
Modified: search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java
===================================================================
--- search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd1/LabelMmd1XmlWriter.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -28,10 +28,12 @@
package org.musicbrainz.search.servlet.mmd1;
+import com.google.common.base.Strings;
import com.jthink.brainz.mmd.*;
import org.apache.commons.lang.StringUtils;
import org.musicbrainz.search.MbDocument;
import org.musicbrainz.search.index.LabelIndexField;
+import org.musicbrainz.search.index.MMDSerializer;
import org.musicbrainz.search.servlet.Result;
import org.musicbrainz.search.servlet.Results;
@@ -40,6 +42,7 @@
public class LabelMmd1XmlWriter extends Mmd1XmlWriter {
public Metadata write(Results results) throws IOException {
+
ObjectFactory of = new ObjectFactory();
Metadata metadata = of.createMetadata();
@@ -48,50 +51,45 @@
for (Result result : results.results) {
MbDocument doc = result.getDoc();
Label label = of.createLabel();
- label.setId(doc.get(LabelIndexField.LABEL_ID));
- String type = doc.get(LabelIndexField.TYPE);
- if (isNotUnknown(type)) {
- label.setType(StringUtils.capitalize(doc.get(LabelIndexField.TYPE)));
- }
-
result.setNormalizedScore(results.getMaxScore());
label.getOtherAttributes().put(getScore(), String.valueOf(result.getNormalizedScore()));
- String name = doc.get(LabelIndexField.LABEL);
- if (name != null) {
- label.setName(name);
+ org.musicbrainz.mmd2.Label labelv2
+ = (org.musicbrainz.mmd2.Label) MMDSerializer.unserialize(doc.get(LabelIndexField.LABEL_STORE), org.musicbrainz.mmd2.Label.class);
+ label.setId(labelv2.getId());
+ label.setType(StringUtils.capitalize(labelv2.getType()));
+ label.setName(labelv2.getName());
+
+ if(!Strings.isNullOrEmpty(labelv2.getSortName())) {
+ label.setSortName(labelv2.getSortName());
}
- String code = doc.get(LabelIndexField.CODE);
- if (isNotNoValue(code)) {
- label.setLabelCode(new BigInteger(code));
+ if(labelv2.getLabelCode()!=null) {
+ label.setLabelCode(labelv2.getLabelCode());
}
- String sortname = doc.get(LabelIndexField.SORTNAME);
- if (sortname != null) {
- label.setSortName(sortname);
- }
+ if(!Strings.isNullOrEmpty(labelv2.getDisambiguation())) {
+ label.setDisambiguation(labelv2.getDisambiguation());
+ }
- String begin = doc.get(LabelIndexField.BEGIN);
- String end = doc.get(LabelIndexField.END);
- if (begin != null || end != null) {
- LifeSpan lifespan = of.createLifeSpan();
- if (begin != null) {
- lifespan.setBegin(begin);
+ if(labelv2.getLifeSpan()!=null) {
+ String begin = labelv2.getLifeSpan().getBegin();
+ String end = labelv2.getLifeSpan().getEnd();
+ if (begin != null || end != null) {
+ LifeSpan lifespan = of.createLifeSpan();
+ if (begin != null) {
+ lifespan.setBegin(begin);
- }
- if (end != null) {
- lifespan.setEnd(end);
+ }
+ if (end != null) {
+ lifespan.setEnd(end);
+ }
+ label.setLifeSpan(lifespan);
}
- label.setLifeSpan(lifespan);
}
- String comment = doc.get(LabelIndexField.COMMENT);
- if (isNotNoValue(comment)) {
- label.setDisambiguation(comment);
- }
labelList.getLabel().add(label);
}
Modified: search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelWriter.java
===================================================================
--- search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelWriter.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/servlet/src/main/java/org/musicbrainz/search/servlet/mmd2/LabelWriter.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -32,13 +32,13 @@
import org.musicbrainz.mmd2.*;
import org.musicbrainz.search.MbDocument;
import org.musicbrainz.search.index.LabelIndexField;
+import org.musicbrainz.search.index.MMDSerializer;
import org.musicbrainz.search.servlet.Result;
import org.musicbrainz.search.servlet.Results;
import java.io.IOException;
import java.math.BigInteger;
import java.util.List;
-import java.util.Locale;
/**
* Write Label Output
@@ -81,96 +81,53 @@
}
/**
- * Write result and add to the list
- *
* @param list
* @param result
* @throws IOException
*/
public void write(List list, Result result) throws IOException {
- ObjectFactory of = new ObjectFactory();
MbDocument doc = result.getDoc();
- Label label = of.createLabel();
- label.setId(doc.get(LabelIndexField.LABEL_ID));
- String type = doc.get(LabelIndexField.TYPE);
- if (isNotUnknown(type)) {
- label.setType(type);
- }
+ Label label = (Label) MMDSerializer.unserialize(doc.get(LabelIndexField.LABEL_STORE), Label.class);
label.setScore(String.valueOf(result.getNormalizedScore()));
- String name = doc.get(LabelIndexField.LABEL);
- if (name != null) {
- label.setName(name);
- }
+ list.add(label);
+ }
- String[] ipiCodes = doc.getValues(LabelIndexField.IPI);
- if (ipiCodes.length > 0) {
- IpiList ipiList = of.createIpiList();
- for (int i = 0; i < ipiCodes.length; i++) {
- ipiList.getIpi().add(ipiCodes[i]);
- }
- label.setIpiList(ipiList);
- }
+ /**
+ * Overriden to ensure all attributes are set for each alias
+ *
+ * @param metadata
+ */
+ @Override
+ public void adjustForJson(Metadata metadata) {
- String code = doc.get(LabelIndexField.CODE);
- if (isNotNoValue(code)) {
- label.setLabelCode(new BigInteger(code));
- }
+ if (metadata.getLabelList().getLabel().size()>0) {
+ for(Label label:metadata.getLabelList().getLabel()) {
+ if(label.getAliasList()!=null) {
+ for (Alias alias : label.getAliasList().getAlias()) {
- String countryCode = doc.get(LabelIndexField.COUNTRY);
- if (isNotUnknown(countryCode)) {
- label.setCountry(countryCode.toUpperCase(Locale.US));
- }
-
- String sortname = doc.get(LabelIndexField.SORTNAME);
- if (sortname != null) {
- label.setSortName(sortname);
- }
-
- String begin = doc.get(LabelIndexField.BEGIN);
- String end = doc.get(LabelIndexField.END);
- String ended = doc.get(LabelIndexField.ENDED);
-
- LifeSpan lifespan = of.createLifeSpan();
- label.setLifeSpan(lifespan);
-
- if (begin != null) {
- lifespan.setBegin(begin);
- }
-
- if (end != null) {
- lifespan.setEnd(end);
- }
- lifespan.setEnded(ended);
-
- String comment = doc.get(LabelIndexField.COMMENT);
- if (isNotNoValue(comment)) {
- label.setDisambiguation(comment);
- }
-
- String[] aliases = doc.getValues(LabelIndexField.ALIAS);
- if (aliases.length > 0) {
- AliasList aliasList = of.createAliasList();
- for (int i = 0; i < aliases.length; i++) {
- Alias alias = of.createAlias();
- alias.setContent(aliases[i]);
- aliasList.getAlias().add(alias);
+ if (alias.getBeginDate() == null) {
+ alias.setBeginDate("");
+ }
+ if (alias.getEndDate() == null) {
+ alias.setEndDate("");
+ }
+ if (alias.getType() == null) {
+ alias.setType("");
+ }
+ if (alias.getLocale() == null) {
+ alias.setLocale("");
+ }
+ //On Xml output as primary, but in json they have changed to true/false
+ if (alias.getPrimary() == null) {
+ alias.setPrimary("false");
+ }
+ else {
+ alias.setPrimary("true");
+ }
+ }
+ }
}
- label.setAliasList(aliasList);
}
- String[] tags = doc.getValues(LabelIndexField.TAG);
- String[] tagCounts = doc.getValues(LabelIndexField.TAGCOUNT);
- if (tags.length > 0) {
- TagList tagList = of.createTagList();
- for (int i = 0; i < tags.length; i++) {
- Tag tag = of.createTag();
- tag.setName(tags[i]);
- tag.setCount(new BigInteger(tagCounts[i]));
- tagList.getTag().add(tag);
- }
- label.setTagList(tagList);
- }
- list.add(label);
-
}
}
\ No newline at end of file
Modified: search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java
===================================================================
--- search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/FindLabelTest.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -1,14 +1,5 @@
package org.musicbrainz.search.servlet;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Date;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
@@ -16,149 +7,176 @@
import org.apache.lucene.store.RAMDirectory;
import org.junit.Before;
import org.junit.Test;
+import org.musicbrainz.mmd2.*;
import org.musicbrainz.search.LuceneVersion;
import org.musicbrainz.search.MbDocument;
import org.musicbrainz.search.analysis.MusicbrainzSimilarity;
-import org.musicbrainz.search.index.DatabaseIndex;
-import org.musicbrainz.search.index.Index;
-import org.musicbrainz.search.index.LabelIndexField;
-import org.musicbrainz.search.index.MetaIndexField;
+import org.musicbrainz.search.index.*;
import org.musicbrainz.search.servlet.mmd1.LabelMmd1XmlWriter;
import org.musicbrainz.search.servlet.mmd1.LabelType;
import org.musicbrainz.search.servlet.mmd2.LabelWriter;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.math.BigInteger;
+import java.util.Date;
+
+import static org.junit.Assert.*;
+
/**
* Assumes an index has been built stored and in the data folder, I've picked a fairly obscure bside so hopefully
* will not get added to another release
*/
public class FindLabelTest {
- private AbstractSearchServer ss;
- private AbstractDismaxSearchServer sd;
+ private AbstractSearchServer ss;
+ private AbstractDismaxSearchServer sd;
- @Before
- public void setUp() throws Exception {
- RAMDirectory ramDir = new RAMDirectory();
- Analyzer analyzer = DatabaseIndex.getAnalyzer(LabelIndexField.class);
- IndexWriterConfig writerConfig = new IndexWriterConfig(LuceneVersion.LUCENE_VERSION, analyzer);
- writerConfig.setSimilarity(new MusicbrainzSimilarity());
- IndexWriter writer = new IndexWriter(ramDir, writerConfig);
+ @Before
+ public void setUp() throws Exception {
+ ObjectFactory of = new ObjectFactory();
+ RAMDirectory ramDir = new RAMDirectory();
+ Analyzer analyzer = DatabaseIndex.getAnalyzer(LabelIndexField.class);
+ IndexWriterConfig writerConfig = new IndexWriterConfig(LuceneVersion.LUCENE_VERSION, analyzer);
+ writerConfig.setSimilarity(new MusicbrainzSimilarity());
+ IndexWriter writer = new IndexWriter(ramDir, writerConfig);
- {
- MbDocument doc = new MbDocument();
- doc.addField(LabelIndexField.LABEL_ID, "ff571ff4-04cb-4b9c-8a1c-354c330f863c");
- doc.addField(LabelIndexField.LABEL, "Jockey Slut");
- doc.addField(LabelIndexField.SORTNAME, "Slut, Jockey");
- doc.addField(LabelIndexField.ALIAS, "Jockeys");
- doc.addField(LabelIndexField.CODE, 1234);
- doc.addField(LabelIndexField.BEGIN, "1993");
- doc.addField(LabelIndexField.END, "2004");
- doc.addField(LabelIndexField.ENDED, "true");
- doc.addField(LabelIndexField.TYPE, "Production");
- doc.addField(LabelIndexField.COUNTRY, "GB");
- doc.addField(LabelIndexField.TAG, "dance");
- doc.addField(LabelIndexField.TAGCOUNT, "22");
- doc.addField(LabelIndexField.IPI, "1001");
+ {
+ MbDocument doc = new MbDocument();
- writer.addDocument(doc.getLuceneDocument());
- }
+ Label label = of.createLabel();
+ doc.addField(LabelIndexField.LABEL_ID, "ff571ff4-04cb-4b9c-8a1c-354c330f863c");
+ label.setId("ff571ff4-04cb-4b9c-8a1c-354c330f863c");
- {
- MbDocument doc = new MbDocument();
- doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7503");
- doc.addField(LabelIndexField.LABEL, "4AD");
- doc.addField(LabelIndexField.SORTNAME, "4AD");
- doc.addField(LabelIndexField.BEGIN, "1979");
- doc.addField(LabelIndexField.CODE, 5807);
- doc.addField(LabelIndexField.TYPE, LabelType.PRODUCTION.getName());
- doc.addField(LabelIndexField.COUNTRY, "unknown");
+ doc.addField(LabelIndexField.LABEL, "Jockey Slut");
+ label.setName("Jockey Slut");
- writer.addDocument(doc.getLuceneDocument());
- }
+ doc.addField(LabelIndexField.SORTNAME, "Slut, Jockey");
+ label.setSortName("Slut, Jockey");
- {
- MbDocument doc = new MbDocument();
- doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7504");
- doc.addField(LabelIndexField.LABEL, "Dark Prism");
- doc.addField(LabelIndexField.SORTNAME, "Dark Prism");
- doc.addField(LabelIndexField.CODE, Index.NO_VALUE);
- doc.addField(LabelIndexField.TYPE, LabelType.HOLDING.getName());
- writer.addDocument(doc.getLuceneDocument());
- }
+ doc.addField(LabelIndexField.ALIAS, "Jockeys");
+ AliasList aliasList = of.createAliasList();
+ Alias alias = of.createAlias();
+ aliasList.getAlias().add(alias);
+ alias.setContent("Jockeys");
+ label.setAliasList(aliasList);
- {
- MbDocument doc = new MbDocument();
- doc.addField(LabelIndexField.LABEL_ID, "b539bb1e-f2e1-4b45-9db8-8053841e7504");
- doc.addField(LabelIndexField.LABEL, "blob");
- doc.addField(LabelIndexField.SORTNAME, "blob");
- doc.addField(LabelIndexField.TYPE, "unknown");
- writer.addDocument(doc.getLuceneDocument());
- }
+ doc.addField(LabelIndexField.CODE, 1234);
+ label.setLabelCode(BigInteger.valueOf(1234));
- {
- MbDocument doc = new MbDocument();
- doc.addField(MetaIndexField.META, MetaIndexField.META_VALUE);
- doc.addNumericField(MetaIndexField.LAST_UPDATED, new Date().getTime());
- writer.addDocument(doc.getLuceneDocument());
- }
+ doc.addField(LabelIndexField.BEGIN, "1993");
+ doc.addField(LabelIndexField.END, "2004");
+ doc.addField(LabelIndexField.ENDED, "true");
+ LifeSpan lifespan = of.createLifeSpan();
+ label.setLifeSpan(lifespan);
+ lifespan.setBegin("1993");
+ lifespan.setEnd("2004");
+ lifespan.setEnded("true");
+ doc.addField(LabelIndexField.TYPE, "Production");
+ label.setType("Production");
- writer.close();
- SearcherManager searcherManager = new SearcherManager(ramDir, new MusicBrainzSearcherFactory(ResourceType.LABEL));
- ss = new LabelSearch(searcherManager);
- sd = new LabelDismaxSearch(ss);
- }
+ doc.addField(LabelIndexField.COUNTRY, "GB");
+ label.setCountry("GB");
- @Test
- public void testFindLabelById() throws Exception {
- Results res = ss.search("laid:\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- assertEquals("1993", doc.get(LabelIndexField.BEGIN));
- assertEquals("2004", doc.get(LabelIndexField.END));
- assertEquals("Jockeys", doc.get(LabelIndexField.ALIAS));
- assertNull(doc.get(LabelIndexField.COMMENT));
- assertEquals("Slut, Jockey", doc.get(LabelIndexField.SORTNAME));
- assertEquals("Production", doc.get(LabelIndexField.TYPE));
- }
+ doc.addField(LabelIndexField.TAG, "dance");
+ TagList tagList = of.createTagList();
+ Tag tag = of.createTag();
+ tag.setName("dance");
+ tag.setCount(BigInteger.valueOf(22));
+ tagList.getTag().add(tag);
+ label.setTagList(tagList);
- @Test
- public void testFindLabelByName() throws Exception {
- Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ doc.addField(LabelIndexField.IPI, "1001");
+ IpiList ipiList = of.createIpiList();
+ ipiList.getIpi().add("1001");
+ label.setIpiList(ipiList);
- @Test
- public void testFindLabelByDismax1() throws Exception {
- Results res = sd.search("Jockey Slut", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
+ writer.addDocument(doc.getLuceneDocument());
+ }
- @Test
- public void testFindLabelByDismax2() throws Exception {
- Results res = sd.search("Jockey", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ {
+ MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
+ doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7503");
+ label.setId("a539bb1e-f2e1-4b45-9db8-8053841e7503");
+ doc.addField(LabelIndexField.LABEL, "4AD");
+ label.setName("4AD");
+
+ doc.addField(LabelIndexField.SORTNAME, "4AD");
+ label.setSortName("4AD");
+
+ doc.addField(LabelIndexField.BEGIN, "1979");
+ doc.addField(LabelIndexField.CODE, 5807);
+ label.setLabelCode(BigInteger.valueOf(5807));
+
+ doc.addField(LabelIndexField.TYPE, "Production");
+ label.setType("Production");
+
+ doc.addField(LabelIndexField.COUNTRY, "unknown");
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
+ writer.addDocument(doc.getLuceneDocument());
+ }
+
+ {
+ MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
+ doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7504");
+ label.setId("a539bb1e-f2e1-4b45-9db8-8053841e7504");
+
+ doc.addField(LabelIndexField.LABEL, "Dark Prism");
+ label.setName("Dark Prism");
+
+ doc.addField(LabelIndexField.SORTNAME, "Dark Prism");
+ label.setSortName("Dark Prism");
+
+ doc.addField(LabelIndexField.CODE, Index.NO_VALUE);
+ doc.addField(LabelIndexField.TYPE, LabelType.HOLDING.getName());
+ label.setType("Holding");
+
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
+ writer.addDocument(doc.getLuceneDocument());
+ }
+
+ {
+ MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
+ doc.addField(LabelIndexField.LABEL_ID, "b539bb1e-f2e1-4b45-9db8-8053841e7504");
+ label.setId("b539bb1e-f2e1-4b45-9db8-8053841e7504");
+
+ doc.addField(LabelIndexField.LABEL, "blob");
+ label.setName("blob");
+
+ doc.addField(LabelIndexField.SORTNAME, "blob");
+ label.setSortName("blob");
+
+ doc.addField(LabelIndexField.TYPE, "unknown");
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
+ writer.addDocument(doc.getLuceneDocument());
+ }
+
+ {
+ MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
+ doc.addField(MetaIndexField.META, MetaIndexField.META_VALUE);
+ doc.addNumericField(MetaIndexField.LAST_UPDATED, new Date().getTime());
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
+ writer.addDocument(doc.getLuceneDocument());
+ }
+
+
+ writer.close();
+ SearcherManager searcherManager = new SearcherManager(ramDir, new MusicBrainzSearcherFactory(ResourceType.LABEL));
+ ss = new LabelSearch(searcherManager);
+ sd = new LabelDismaxSearch(ss);
+ }
+
@Test
- public void testFindLabelByDismax3() throws Exception {
- Results res = sd.search("1234", 0, 10);
+ public void testFindLabelById() throws Exception {
+ Results res = ss.search("laid:\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\"", 0, 10);
assertEquals(1, res.getTotalHits());
Result result = res.results.get(0);
MbDocument doc = result.getDoc();
@@ -166,382 +184,420 @@
assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
}
- @Test
- public void testFindLabelByDefault() throws Exception {
+ @Test
+ public void testFindLabelByName() throws Exception {
+ Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- {
- Results res = ss.search("\"Jockey Slut\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ @Test
+ public void testFindLabelByDismax1() throws Exception {
+ Results res = sd.search("Jockey Slut", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
}
- {
- Results res = ss.search("\"Slut Jockey\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ @Test
+ public void testFindLabelByDismax2() throws Exception {
+ Results res = sd.search("Jockey", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
}
- {
- Results res = ss.search("\"Jockeys\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ @Test
+ public void testFindLabelByDismax3() throws Exception {
+ Results res = sd.search("1234", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
}
- }
- @Test
- public void testFindLabelByType() throws Exception {
- Results res = ss.search("type:\"production\"", 0, 10);
- assertEquals(2, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
+ @Test
+ public void testFindLabelByDefault() throws Exception {
- //(This will always come first because searcher sots by score and then docno, and this doc added first)
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ {
+ Results res = ss.search("\"Jockey Slut\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByIpi() throws Exception {
- Results res = ss.search("ipi:1001", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
+ {
+ Results res = ss.search("\"Slut Jockey\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- //(This will always come first because searcher sots by score and then docno, and this doc added first)
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ {
+ Results res = ss.search("\"Jockeys\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
+ }
- @Test
- public void testFindLabelByNumericType() throws Exception {
- Results res = ss.search("type:3", 0, 10);
- assertEquals(2, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
+ @Test
+ public void testFindLabelByType() throws Exception {
+ Results res = ss.search("type:\"production\"", 0, 10);
+ assertEquals(2, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
- //(This will always come first because searcher sots by score and then docno, and this doc added first)
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ //(This will always come first because searcher sots by score and then docno, and this doc added first)
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelBySortname() throws Exception {
- Results res = ss.search("sortname:\"Slut, Jockey\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ @Test
+ public void testFindLabelByIpi() throws Exception {
+ Results res = ss.search("ipi:1001", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
- @Test
- public void testFindLabelByCountry() throws Exception {
- Results res = ss.search("country:\"gb\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ //(This will always come first because searcher sots by score and then docno, and this doc added first)
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByUnknownCountry() throws Exception {
- Results res = ss.search("country:\"unknown\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
- }
+ @Test
+ public void testFindLabelByNumericType() throws Exception {
+ Results res = ss.search("type:3", 0, 10);
+ assertEquals(2, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
- @Test
- public void testFindLabelByCountryUpercase() throws Exception {
- Results res = ss.search("country:\"GB\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ //(This will always come first because searcher sots by score and then docno, and this doc added first)
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByCode() throws Exception {
- Results res = ss.search("code:5807", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("4AD", doc.get(LabelIndexField.LABEL));
- }
+ @Test
+ public void testFindLabelBySortname() throws Exception {
+ Results res = ss.search("sortname:\"Slut, Jockey\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByCode2() throws Exception {
- Results res = ss.search("code:05807", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("4AD", doc.get(LabelIndexField.LABEL));
- }
+ @Test
+ public void testFindLabelByCountry() throws Exception {
+ Results res = ss.search("country:\"gb\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByCode3() throws Exception {
- Results res = ss.search("code:005807", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("4AD", doc.get(LabelIndexField.LABEL));
- }
+ @Test
+ public void testFindLabelByUnknownCountry() throws Exception {
+ Results res = ss.search("country:\"unknown\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
+ }
- @Test
- public void testFindLabelByCodeRange() throws Exception {
- try {
- Results res = ss.search("code:[5806 TO 5807]", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("4AD", doc.get(LabelIndexField.LABEL));
- }
- catch(Exception ex)
- {
- ex.printStackTrace();
- }
- }
+ @Test
+ public void testFindLabelByCountryUpercase() throws Exception {
+ Results res = ss.search("country:\"GB\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByZeroedCode() throws Exception {
- Results res = ss.search("code:\"05807\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("4AD", doc.get(LabelIndexField.LABEL));
- }
+ @Test
+ public void testFindLabelByCode() throws Exception {
+ Results res = ss.search("code:5807", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("4AD", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByTag() throws Exception {
- Results res = ss.search("tag:dance", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
- }
+ @Test
+ public void testFindLabelByCode2() throws Exception {
+ Results res = ss.search("code:05807", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("4AD", doc.get(LabelIndexField.LABEL));
+ }
- @Test
- public void testFindLabelByEnded() throws Exception {
- Results res = ss.search("ended:\"true\"", 0, 10);
- assertEquals(1, res.getTotalHits());
- Result result = res.results.get(0);
- MbDocument doc = result.getDoc();
- assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
- }
+ @Test
+ public void testFindLabelByCode3() throws Exception {
+ Results res = ss.search("code:005807", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("4AD", doc.get(LabelIndexField.LABEL));
+ }
+ @Test
+ public void testFindLabelByCodeRange() throws Exception {
+ try {
+ Results res = ss.search("code:[5806 TO 5807]", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("4AD", doc.get(LabelIndexField.LABEL));
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+ }
- public void testIssue66() throws Exception {
- Results res = ss.search("dark", 0, 10);
- assertEquals(1, res.getTotalHits());
- ResultsWriter writer = new LabelMmd1XmlWriter();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res);
- pr.close();
- String output = sw.toString();
- assertTrue(output.contains("<name>Dark Prism</name>"));
+ @Test
+ public void testFindLabelByZeroedCode() throws Exception {
+ Results res = ss.search("code:\"05807\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("a539bb1e-f2e1-4b45-9db8-8053841e7503", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("4AD", doc.get(LabelIndexField.LABEL));
+ }
- writer = new LabelWriter();
- sw = new StringWriter();
- pr = new PrintWriter(sw);
- writer.write(pr, res);
- pr.close();
- assertTrue(output.contains("<name>Dark Prism</name>"));
+ @Test
+ public void testFindLabelByTag() throws Exception {
+ Results res = ss.search("tag:dance", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ assertEquals("Jockey Slut", doc.get(LabelIndexField.LABEL));
+ }
- }
+ @Test
+ public void testFindLabelByEnded() throws Exception {
+ Results res = ss.search("ended:\"true\"", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ Result result = res.results.get(0);
+ MbDocument doc = result.getDoc();
+ assertEquals("ff571ff4-04cb-4b9c-8a1c-354c330f863c", doc.get(LabelIndexField.LABEL_ID));
+ }
- /**
- * Tests get same results as
- * http://musicbrainz.org/ws/1/label/?type=xml&query=%22Jockey%20Slut%22
- *
- * @throws Exception exeption
- */
- @Test
- public void testOutputAsMmd1Xml() throws Exception {
+ public void testIssue66() throws Exception {
+ Results res = ss.search("dark", 0, 10);
+ assertEquals(1, res.getTotalHits());
+ ResultsWriter writer = new LabelMmd1XmlWriter();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res);
+ pr.close();
+ String output = sw.toString();
+ assertTrue(output.contains("<name>Dark Prism</name>"));
- Results res = ss.search("label:\"Jockey Slut\"", 0, 1);
- ResultsWriter writer = new LabelMmd1XmlWriter();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res);
- pr.close();
- String output = sw.toString();
- //System.out.println("Xml is" + output);
- assertTrue(output.contains("count=\"1\""));
- assertTrue(output.contains("offset=\"0\""));
- assertTrue(output.contains("id=\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
- assertTrue(output.contains("type=\"Production\""));
- assertTrue(output.contains("<name>Jockey Slut</name>"));
- assertTrue(output.contains("<sort-name>Slut, Jockey</sort-name>"));
- assertTrue(output.contains("begin=\"1993\""));
- assertTrue(output.contains("end=\"2004\""));
- }
+ writer = new LabelWriter();
+ sw = new StringWriter();
+ pr = new PrintWriter(sw);
+ writer.write(pr, res);
+ pr.close();
+ assertTrue(output.contains("<name>Dark Prism</name>"));
- /**
- * Tests get same results as
- * http://musicbrainz.org/ws/1/label/?type=xml&query=%22Jockey%20Slut%22
- *
- * @throws Exception exception
- */
- @Test
- public void testOutputAsXml() throws Exception {
+ }
- Results res = ss.search("label:\"Jockey Slut\"", 0, 1);
- ResultsWriter writer = ss.getMmd2Writer();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res);
- pr.close();
- String output = sw.toString();
- System.out.println("Xml is" + output);
- assertTrue(output.contains("count=\"1\""));
- assertTrue(output.contains("offset=\"0\""));
- assertTrue(output.contains("xmlns:ext=\"http://musicbrainz.org/ns/ext#-2.0\""));
- assertTrue(output.contains("id=\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
- assertTrue(output.contains("type=\"Production\""));
- assertTrue(output.contains("<name>Jockey Slut</name>"));
- assertTrue(output.contains("<sort-name>Slut, Jockey</sort-name>"));
- assertTrue(output.contains("<alias>Jockeys</alias>"));
- assertTrue(output.contains("<begin>1993</begin"));
- assertTrue(output.contains("<end>2004</end>"));
- assertTrue(output.contains("<label-code>1234</label-code>"));
- assertTrue(output.contains("<country>GB</country>"));
- assertTrue(output.contains("<ended>true</ended>"));
- assertTrue(output.contains("dance</name>"));
- assertTrue(output.contains("<ipi-list><ipi>1001</ipi></ipi-list>"));
- }
- @Test
- public void testOutputAsXmlWithUnknownCountry() throws Exception {
+ /**
+ * Tests get same results as
+ * http://musicbrainz.org/ws/1/label/?type=xml&query=%22Jockey%20Slut%22
+ *
+ * @throws Exception exeption
+ */
+ @Test
+ public void testOutputAsMmd1Xml() throws Exception {
- Results res = ss.search("laid:a539bb1e-f2e1-4b45-9db8-8053841e7503", 0, 1);
- ResultsWriter writer = ss.getMmd2Writer();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res);
- pr.close();
- String output = sw.toString();
- System.out.println("Xml is" + output);
- assertTrue(output.contains("count=\"1\""));
- assertTrue(output.contains("offset=\"0\""));
- assertTrue(output.contains("xmlns:ext=\"http://musicbrainz.org/ns/ext#-2.0\""));
- assertTrue(output.contains("id=\"a539bb1e-f2e1-4b45-9db8-8053841e7503\""));
- assertFalse(output.contains("<country>"));
- }
+ Results res = ss.search("label:\"Jockey Slut\"", 0, 1);
+ ResultsWriter writer = new LabelMmd1XmlWriter();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res);
+ pr.close();
+ String output = sw.toString();
+ //System.out.println("Xml is" + output);
+ assertTrue(output.contains("count=\"1\""));
+ assertTrue(output.contains("offset=\"0\""));
+ assertTrue(output.contains("id=\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
+ assertTrue(output.contains("type=\"Production\""));
+ assertTrue(output.contains("<name>Jockey Slut</name>"));
+ assertTrue(output.contains("<sort-name>Slut, Jockey</sort-name>"));
+ assertTrue(output.contains("begin=\"1993\""));
+ assertTrue(output.contains("end=\"2004\""));
+ }
- @Test
- public void testOutputAsMMd1XmlWithUnknownType() throws Exception {
+ /**
+ * Tests get same results as
+ * http://musicbrainz.org/ws/1/label/?type=xml&query=%22Jockey%20Slut%22
+ *
+ * @throws Exception exception
+ */
+ @Test
+ public void testOutputAsXml() throws Exception {
- Results res = ss.search("blob", 0, 1);
- ResultsWriter writer = new LabelMmd1XmlWriter();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res);
- pr.close();
- String output = sw.toString();
- System.out.println("Xml is" + output);
- assertTrue(output.contains("count=\"1\""));
- assertTrue(output.contains("offset=\"0\""));
- assertFalse(output.contains("label type"));
- }
+ Results res = ss.search("label:\"Jockey Slut\"", 0, 1);
+ ResultsWriter writer = ss.getMmd2Writer();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res);
+ pr.close();
+ String output = sw.toString();
+ System.out.println("Xml is" + output);
+ assertTrue(output.contains("count=\"1\""));
+ assertTrue(output.contains("offset=\"0\""));
+ assertTrue(output.contains("xmlns:ext=\"http://musicbrainz.org/ns/ext#-2.0\""));
+ assertTrue(output.contains("id=\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
+ assertTrue(output.contains("type=\"Production\""));
+ assertTrue(output.contains("<name>Jockey Slut</name>"));
+ assertTrue(output.contains("<sort-name>Slut, Jockey</sort-name>"));
+ assertTrue(output.contains("<alias>Jockeys</alias>"));
+ assertTrue(output.contains("<begin>1993</begin"));
+ assertTrue(output.contains("<end>2004</end>"));
+ assertTrue(output.contains("<label-code>1234</label-code>"));
+ assertTrue(output.contains("<country>GB</country>"));
+ assertTrue(output.contains("<ended>true</ended>"));
+ assertTrue(output.contains("dance</name>"));
+ assertTrue(output.contains("<ipi-list><ipi>1001</ipi></ipi-list>"));
+ }
- /**
- * @throws Exception exception
- */
- @Test
- public void testOutputJson() throws Exception {
+ @Test
+ public void testOutputAsXmlWithUnknownCountry() throws Exception {
- Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
- org.musicbrainz.search.servlet.mmd2.ResultsWriter writer = ss.getMmd2Writer();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res, SearchServerServlet.RESPONSE_JSON);
- pr.close();
+ Results res = ss.search("laid:a539bb1e-f2e1-4b45-9db8-8053841e7503", 0, 1);
+ ResultsWriter writer = ss.getMmd2Writer();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res);
+ pr.close();
+ String output = sw.toString();
+ System.out.println("Xml is" + output);
+ assertTrue(output.contains("count=\"1\""));
+ assertTrue(output.contains("offset=\"0\""));
+ assertTrue(output.contains("xmlns:ext=\"http://musicbrainz.org/ns/ext#-2.0\""));
+ assertTrue(output.contains("id=\"a539bb1e-f2e1-4b45-9db8-8053841e7503\""));
+ assertFalse(output.contains("<country>"));
+ }
- String output = sw.toString();
- System.out.println("Json is" + output);
+ @Test
+ public void testOutputAsMMd1XmlWithUnknownType() throws Exception {
- assertTrue(output.contains("id\":\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
- assertTrue(output.contains("\"count\":1"));
- assertTrue(output.contains("\"offset\":0,"));
- assertTrue(output.contains("\"type\":\"Production\""));
- assertTrue(output.contains("name\":\"Jockey Slut\""));
- assertTrue(output.contains("\"sort-name\":\"Slut, Jockey\""));
- assertTrue(output.contains("life-span\":{\"begin\":\"1993\""));
- assertTrue(output.contains("\"label-code\":1234"));
- assertTrue(output.contains("\"country\":\"GB\""));
- assertTrue(output.contains("tag-list\":{\"tag\":[{\"count\":22,\"name\":\"dance\"}"));
- assertTrue(output.contains("\"ended\":\"true\""));
- }
+ Results res = ss.search("blob", 0, 1);
+ ResultsWriter writer = new LabelMmd1XmlWriter();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res);
+ pr.close();
+ String output = sw.toString();
+ System.out.println("Xml is" + output);
+ assertTrue(output.contains("count=\"1\""));
+ assertTrue(output.contains("offset=\"0\""));
+ assertFalse(output.contains("label type"));
+ }
- /**
- * @throws Exception exception
- */
- @Test
- public void testOutputJsonNew() throws Exception {
+ /**
+ * @throws Exception exception
+ */
+ @Test
+ public void testOutputJson() throws Exception {
- Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
- org.musicbrainz.search.servlet.mmd2.ResultsWriter writer = ss.getMmd2Writer();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res, SearchServerServlet.RESPONSE_JSON_NEW);
- pr.close();
+ Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
+ org.musicbrainz.search.servlet.mmd2.ResultsWriter writer = ss.getMmd2Writer();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res, SearchServerServlet.RESPONSE_JSON);
+ pr.close();
- String output = sw.toString();
- System.out.println("Json New is" + output);
+ String output = sw.toString();
+ System.out.println("Json is" + output);
- assertTrue(output.contains("id\":\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
- assertTrue(output.contains("\"type\":\"Production\""));
- assertTrue(output.contains("name\":\"Jockey Slut\""));
- assertTrue(output.contains("\"sort-name\":\"Slut, Jockey\""));
- assertTrue(output.contains("life-span\":{\"begin\":\"1993\""));
- assertTrue(output.contains("\"country\":\"GB\""));
- assertTrue(output.contains("\"tags\":[{\"count\":22,\"name\":\"dance\"}]"));
- assertTrue(output.contains("\"ended\":true"));
- assertTrue(output.contains("\"ipis\":[\"1001\""));
- assertTrue(output.contains("\"aliases\":[\"Jockeys\"]"));
- assertTrue(output.contains("\"end\":\"2004\""));
- assertTrue(output.contains("\"label-code\":1234"));
- assertTrue(output.contains("\"count\":1"));
- assertTrue(output.contains("\"offset\":0,"));
+ assertTrue(output.contains("id\":\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
+ assertTrue(output.contains("\"count\":1"));
+ assertTrue(output.contains("\"offset\":0,"));
+ assertTrue(output.contains("\"type\":\"Production\""));
+ assertTrue(output.contains("name\":\"Jockey Slut\""));
+ assertTrue(output.contains("\"sort-name\":\"Slut, Jockey\""));
+ assertTrue(output.contains("life-span\":{\"begin\":\"1993\""));
+ assertTrue(output.contains("\"label-code\":1234"));
+ assertTrue(output.contains("\"country\":\"GB\""));
+ assertTrue(output.contains("tag-list\":{\"tag\":[{\"count\":22,\"name\":\"dance\"}"));
+ assertTrue(output.contains("\"ended\":\"true\""));
+ }
- }
+ /**
+ * @throws Exception exception
+ */
+ @Test
+ public void testOutputJsonNew() throws Exception {
- /**
- * @throws Exception exception
- */
- @Test
- public void testOutputJsonNewIdent() throws Exception {
+ Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
+ org.musicbrainz.search.servlet.mmd2.ResultsWriter writer = ss.getMmd2Writer();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res, SearchServerServlet.RESPONSE_JSON_NEW);
+ pr.close();
- Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
- org.musicbrainz.search.servlet.mmd2.ResultsWriter writer = ss.getMmd2Writer();
- StringWriter sw = new StringWriter();
- PrintWriter pr = new PrintWriter(sw);
- writer.write(pr, res, SearchServerServlet.RESPONSE_JSON_NEW,true);
- pr.close();
+ String output = sw.toString();
+ System.out.println("Json New is" + output);
- String output = sw.toString();
- System.out.println("Json New Ident is" + output);
- assertTrue(output.contains("\"offset\" : 0"));
+ assertTrue(output.contains("id\":\"ff571ff4-04cb-4b9c-8a1c-354c330f863c\""));
+ assertTrue(output.contains("\"type\":\"Production\""));
+ assertTrue(output.contains("name\":\"Jockey Slut\""));
+ assertTrue(output.contains("\"sort-name\":\"Slut, Jockey\""));
+ assertTrue(output.contains("life-span\":{\"begin\":\"1993\""));
+ assertTrue(output.contains("\"country\":\"GB\""));
+ assertTrue(output.contains("\"tags\":[{\"count\":22,\"name\":\"dance\"}]"));
+ assertTrue(output.contains("\"ended\":true"));
+ assertTrue(output.contains("\"ipis\":[\"1001\""));
+ assertTrue(output.contains("\"aliases\":[{\"locale\":\"\",\"type\":\"\",\"primary\":\"false\",\"begin-date\":\"\",\"end-date\":\"\",\"value\":\"Jockeys\"}]"));
+ assertTrue(output.contains("\"end\":\"2004\""));
+ assertTrue(output.contains("\"label-code\":1234"));
+ assertTrue(output.contains("\"count\":1"));
+ assertTrue(output.contains("\"offset\":0,"));
- }
+ }
+
+ /**
+ * @throws Exception exception
+ */
+ @Test
+ public void testOutputJsonNewIdent() throws Exception {
+
+ Results res = ss.search("label:\"Jockey Slut\"", 0, 10);
+ org.musicbrainz.search.servlet.mmd2.ResultsWriter writer = ss.getMmd2Writer();
+ StringWriter sw = new StringWriter();
+ PrintWriter pr = new PrintWriter(sw);
+ writer.write(pr, res, SearchServerServlet.RESPONSE_JSON_NEW, true);
+ pr.close();
+
+ String output = sw.toString();
+ System.out.println("Json New Ident is" + output);
+ assertTrue(output.contains("\"offset\" : 0"));
+
+ }
}
\ No newline at end of file
Modified: search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/SearchAll2Test.java
===================================================================
--- search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/SearchAll2Test.java 2013-05-09 11:15:51 UTC (rev 13680)
+++ search_server/trunk/servlet/src/test/java/org/musicbrainz/search/servlet/SearchAll2Test.java 2013-05-09 14:50:05 UTC (rev 13681)
@@ -60,52 +60,117 @@
{
MbDocument doc = new MbDocument();
+
+ Label label = of.createLabel();
doc.addField(LabelIndexField.LABEL_ID, "ff571ff4-04cb-4b9c-8a1c-354c330f863c");
+ label.setId("ff571ff4-04cb-4b9c-8a1c-354c330f863c");
+
doc.addField(LabelIndexField.LABEL, "Jockey Slut");
+ label.setName("Jockey Slut");
+
doc.addField(LabelIndexField.SORTNAME, "Slut, Jockey");
+ label.setSortName("Slut, Jockey");
+
doc.addField(LabelIndexField.ALIAS, "Jockeys");
+ AliasList aliasList = of.createAliasList();
+ Alias alias = of.createAlias();
+ aliasList.getAlias().add(alias);
+ alias.setContent("Jockeys");
+ label.setAliasList(aliasList);
+
doc.addField(LabelIndexField.CODE, 1234);
+ label.setLabelCode(BigInteger.valueOf(1234));
+
doc.addField(LabelIndexField.BEGIN, "1993");
doc.addField(LabelIndexField.END, "2004");
doc.addField(LabelIndexField.ENDED, "true");
+ LifeSpan lifespan = of.createLifeSpan();
+ label.setLifeSpan(lifespan);
+ lifespan.setBegin("1993");
+ lifespan.setEnd("2004");
+ lifespan.setEnded("true");
+
doc.addField(LabelIndexField.TYPE, "Production");
+ label.setType("Production");
+
doc.addField(LabelIndexField.COUNTRY, "GB");
+ label.setCountry("GB");
+
doc.addField(LabelIndexField.TAG, "dance");
- doc.addField(LabelIndexField.TAGCOUNT, "22");
+ TagList tagList = of.createTagList();
+ Tag tag = of.createTag();
+ tag.setName("dance");
+ tag.setCount(BigInteger.valueOf(22));
+ tagList.getTag().add(tag);
+ label.setTagList(tagList);
+
doc.addField(LabelIndexField.IPI, "1001");
+ IpiList ipiList = of.createIpiList();
+ ipiList.getIpi().add("1001");
+ label.setIpiList(ipiList);
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
writer.addDocument(doc.getLuceneDocument());
}
{
MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7503");
+ label.setId("a539bb1e-f2e1-4b45-9db8-8053841e7503");
+
doc.addField(LabelIndexField.LABEL, "4AD");
+ label.setName("4AD");
+
doc.addField(LabelIndexField.SORTNAME, "4AD");
+ label.setSortName("4AD");
+
doc.addField(LabelIndexField.BEGIN, "1979");
doc.addField(LabelIndexField.CODE, 5807);
- doc.addField(LabelIndexField.TYPE, LabelType.PRODUCTION.getName());
+ label.setLabelCode(BigInteger.valueOf(5807));
+
+ doc.addField(LabelIndexField.TYPE, "Production");
+ label.setType("Production");
+
doc.addField(LabelIndexField.COUNTRY, "unknown");
-
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
writer.addDocument(doc.getLuceneDocument());
}
{
MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
doc.addField(LabelIndexField.LABEL_ID, "a539bb1e-f2e1-4b45-9db8-8053841e7504");
+ label.setId("a539bb1e-f2e1-4b45-9db8-8053841e7504");
+
doc.addField(LabelIndexField.LABEL, "Dark Prism");
+ label.setName("Dark Prism");
+
doc.addField(LabelIndexField.SORTNAME, "Dark Prism");
+ label.setSortName("Dark Prism");
+
doc.addField(LabelIndexField.CODE, Index.NO_VALUE);
doc.addField(LabelIndexField.TYPE, LabelType.HOLDING.getName());
+ label.setType("holding");
+
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
writer.addDocument(doc.getLuceneDocument());
}
{
MbDocument doc = new MbDocument();
+ Label label = of.createLabel();
doc.addField(LabelIndexField.LABEL_ID, "b539bb1e-f2e1-4b45-9db8-8053841e7504");
+ label.setId("b539bb1e-f2e1-4b45-9db8-8053841e7504");
+
doc.addField(LabelIndexField.LABEL, "blob");
+ label.setName("blob");
+
doc.addField(LabelIndexField.SORTNAME, "blob");
+ label.setSortName("blob");
+
doc.addField(LabelIndexField.TYPE, "unknown");
+ doc.addField(LabelIndexField.LABEL_STORE, MMDSerializer.serialize(label));
writer.addDocument(doc.getLuceneDocument());
}