diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java index 099b13ec5..506175252 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/controller/PagedSearchController.java @@ -691,7 +691,7 @@ public class PagedSearchController extends FreemarkerHttpServlet implements Sear // map.put(Entity2LuceneDoc.term.ALLTEXT,Entity2LuceneDoc.term.ALLTEXTUNSTEMMED); // qp.setStemmedToUnstemmed(map); - MultiFieldQueryParser qp = new MultiFieldQueryParser(new String[]{"ALLTEXT", "name", "type"}, analyzer); + MultiFieldQueryParser qp = new MultiFieldQueryParser(new String[]{"ALLTEXT", "name", "type", "moniker"}, analyzer); return qp; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/Entity2LuceneDoc.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/Entity2LuceneDoc.java index 0c228b84f..48d6705d1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/Entity2LuceneDoc.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/lucene/Entity2LuceneDoc.java @@ -63,6 +63,8 @@ public class Entity2LuceneDoc implements Obj2DocIface{ public static String SUNSET="SUNSET"; /** time of sunrise/start of entity in yyyymmddhhmm */ public static String SUNRISE="SUNRISE"; + /** entity's moniker */ + public static String MONIKER="moniker"; /** text for 'full text' search, this is stemmed */ public static String ALLTEXT = "ALLTEXT"; /** text for 'full text' search, this is unstemmed for @@ -189,7 +191,7 @@ public class Entity2LuceneDoc implements Obj2DocIface{ value = ent.getLocalName(); } Field name =new Field(term.NAME, value, - Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.YES); + Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS); name.setBoost( NAME_BOOST ); doc.add( name ); @@ -204,6 +206,15 @@ public class Entity2LuceneDoc implements Obj2DocIface{ doc.add( new Field(term.NAMERAW, value, Field.Store.YES, Field.Index.NOT_ANALYZED)); + + //Moniker + + if(ent.getMoniker() != null){ + Field moniker = new Field(term.MONIKER, ent.getMoniker(), Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS); + moniker.setBoost(MONIKER_BOOST); + doc.add(moniker); + } + //boost for entity if( ent.getSearchBoost() != null && ent.getSearchBoost() != 0 ) doc.setBoost(ent.getSearchBoost()); @@ -365,6 +376,6 @@ public class Entity2LuceneDoc implements Obj2DocIface{ } public static float NAME_BOOST = 3.0F; - public static float KEYWORD_BOOST = 2.0F; + public static float MONIKER_BOOST = 2.0F; public static float FIELD_BOOST = 1.0F; }