Author: echatellier Date: 2011-06-30 16:04:11 +0200 (Thu, 30 Jun 2011) New Revision: 1012 Url: http://nuiton.org/repositories/revision/wikitty/1012 Log: Facet names must be lucene ones instead of wikitty's and result facets name must be reset to wikitty's ones. Modified: trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/LuceneUtil.java trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java Modified: trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/LuceneUtil.java =================================================================== --- trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/LuceneUtil.java 2011-06-30 14:02:02 UTC (rev 1011) +++ trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/LuceneUtil.java 2011-06-30 14:04:11 UTC (rev 1012) @@ -52,12 +52,12 @@ /** to use log facility, just put in your code: log.info(\"...\"); */ final static private Log log = LogFactory.getLog(LuceneUtil.class); - /* + /** * Get field name used in lucene storage for a field name in query. * * @param fieldName field name to convert * @return field name in lucene - * + */ public static String getLuceneFieldName(String fieldName) { String result; if (Element.ELT_ID.equals(fieldName)) { @@ -68,7 +68,25 @@ result = fieldName; } return result; - }*/ + } + + /** + * Get field name used in lucene storage for a field name in query. + * + * @param fieldName field name to convert + * @return field name in lucene + */ + public static String getWikittyFieldName(String fieldName) { + String result; + if (WikittyLuceneConstants.LUCENE_ID.equals(fieldName)) { + result = Element.ELT_ID; + } else if (WikittyLuceneConstants.LUCENE_EXTENSIONS.equals(fieldName)) { + result = Element.ELT_EXTENSION; + } else { + result = fieldName; + } + return result; + } /* * get value of field in Document, field must have only one value Modified: trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java =================================================================== --- trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java 2011-06-30 14:02:02 UTC (rev 1011) +++ trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java 2011-06-30 14:04:11 UTC (rev 1012) @@ -896,7 +896,8 @@ for (String sort : sortAscending) { //String tranform = fieldModifier.convertToSolr(transaction, sort); //tranform += WikittySolrConstant.SUFFIX_SORTABLE; - SortField sortField = new SortField(sort, SortField.STRING); + String luceneField = LuceneUtil.getLuceneFieldName(sort); + SortField sortField = new SortField(luceneField, SortField.STRING); sortFields.add(sortField); } } @@ -905,7 +906,8 @@ for (String sort : sortDescending) { //String tranform = fieldModifier.convertToSolr(transaction, sort); //tranform += WikittySolrConstant.SUFFIX_SORTABLE; - SortField sortField = new SortField(sort, SortField.STRING, true); + String luceneField = LuceneUtil.getLuceneFieldName(sort); + SortField sortField = new SortField(luceneField, SortField.STRING, true); sortFields.add(sortField); } } @@ -922,7 +924,8 @@ List<FacetHandler<?>> facetHandlers = new ArrayList<FacetHandler<?>>(); if (facetFields != null) { for (String facetField : facetFields) { - MultiValueFacetHandler facetHandler = new MultiValueFacetHandler(facetField); + String luceneField = LuceneUtil.getLuceneFieldName(facetField); + MultiValueFacetHandler facetHandler = new MultiValueFacetHandler(luceneField); facetHandlers.add(facetHandler); } } @@ -948,7 +951,8 @@ FacetSpec facetSpec = new FacetSpec(); //facetSpec.setOrderBy(FacetSortSpec.OrderHitsDesc); facetSpec.setMinHitCount(1); - br.setFacetSpec(facetField, facetSpec); + String luceneField = LuceneUtil.getLuceneFieldName(facetField); + br.setFacetSpec(luceneField, facetSpec); } } @@ -984,16 +988,17 @@ for (Map.Entry<String, FacetAccessible> resultFacet : resultFacets.entrySet()) { String facetName = resultFacet.getKey(); FacetAccessible facetValue = resultFacet.getValue(); - + String wikittyField = LuceneUtil.getWikittyFieldName(facetName); + List<FacetTopic> facetTopics = new ArrayList<FacetTopic>(); List<BrowseFacet> browseFacets = facetValue.getFacets(); for (BrowseFacet browseFacet : browseFacets) { - FacetTopic topic = new FacetTopic(facetName, browseFacet.getValue(), + FacetTopic topic = new FacetTopic(wikittyField, browseFacet.getValue(), browseFacet.getFacetValueHitCount()); facetTopics.add(topic); } - pagedResultFacets.put(facetName, facetTopics); + pagedResultFacets.put(wikittyField, facetTopics); // clean up. This is to free up the resources used in facet counting // and this is new for bobo 2.5. Very important to call.