diff --git a/vipra-rest/src/main/java/de/vipra/rest/resource/SearchResource.java b/vipra-rest/src/main/java/de/vipra/rest/resource/SearchResource.java index e034b7a9768e4e33219de6ad54360f9637619578..17bd7c1e69d73742b6d57ca3e3275aa2c828ca88 100644 --- a/vipra-rest/src/main/java/de/vipra/rest/resource/SearchResource.java +++ b/vipra-rest/src/main/java/de/vipra/rest/resource/SearchResource.java @@ -27,6 +27,7 @@ import org.elasticsearch.search.SearchHits; import de.vipra.rest.model.APIError; import de.vipra.rest.model.Wrapper; import de.vipra.util.Config; +import de.vipra.util.Constants; import de.vipra.util.ESClient; import de.vipra.util.MongoUtils; import de.vipra.util.ex.ConfigException; @@ -63,7 +64,9 @@ public class SearchResource { SearchResponse response = null; try { - response = client.prepareSearch("articles").setQuery(QueryBuilders.multiMatchQuery(query, "_all")) + response = client.prepareSearch("articles") + .setQuery(QueryBuilders.multiMatchQuery(query, "topics^" + Constants.BOOST_TOPICS, + "title^" + Constants.BOOST_TITLES, "_all")) .setFrom(skip).setSize(limit).execute().actionGet(); } catch (Exception e) { e.printStackTrace(); diff --git a/vipra-util/src/main/java/de/vipra/util/Constants.java b/vipra-util/src/main/java/de/vipra/util/Constants.java index 449dabc77fec727414a950268d0ac1ea0c0ddba8..034893c219d14d47928f0a231d8aea1eb0a2ce73 100644 --- a/vipra-util/src/main/java/de/vipra/util/Constants.java +++ b/vipra-util/src/main/java/de/vipra/util/Constants.java @@ -36,6 +36,16 @@ public class Constants { public static final String ES_HOST = "127.0.0.1"; public static final int ES_PORT = 9300; + /** + * Topic boost parameter. Boosts topic importance in queries. + */ + public static final int BOOST_TOPICS = 4; + + /** + * Title boost parameter. Boosts title importance in queries. + */ + public static final int BOOST_TITLES = 2; + /* * TOPIC MODELING */