Author: bpoussin Date: 2013-02-22 23:04:56 +0100 (Fri, 22 Feb 2013) New Revision: 1536 Url: http://nuiton.org/projects/wikitty/repository/revisions/1536 Log: on ne met pas dans la map destine au calcul du select les champs purement fait pour l'indexation solr (il commence par #) Modified: trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/SolrUtil.java Modified: trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/SolrUtil.java =================================================================== --- trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/SolrUtil.java 2013-02-22 22:03:30 UTC (rev 1535) +++ trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/SolrUtil.java 2013-02-22 22:04:56 UTC (rev 1536) @@ -231,30 +231,35 @@ String fieldName = ElementModifier.convertToField(solrField); String fieldType = StringUtils.substringAfter(solrField, fieldName); - FieldType type; - if (fieldType.startsWith(SUFFIX_BOOLEAN)) { - type = new FieldType(WikittyTypes.BOOLEAN, 0, Integer.MAX_VALUE); - } else if (fieldType.startsWith(SUFFIX_DATE)) { - type = new FieldType(WikittyTypes.DATE, 0, Integer.MAX_VALUE); - } else if (fieldType.startsWith(SUFFIX_NUMERIC)) { - type = new FieldType(WikittyTypes.NUMERIC, 0, Integer.MAX_VALUE); - } else { - type = new FieldType(WikittyTypes.STRING, 0, Integer.MAX_VALUE); - } + // si on a encore le prefix c'est un champs pure SolR, on ne le + // mais pas dans la map retournee + if (!StringUtils.startsWith(fieldName, WikittySolrConstant.SOLR_WIKITTY_PREFIX)) { - Collection values = doc.getFieldValues(solrField); - values = (Collection)type.getValidValue(values); + FieldType type; + if (fieldType.startsWith(SUFFIX_BOOLEAN)) { + type = new FieldType(WikittyTypes.BOOLEAN, 0, Integer.MAX_VALUE); + } else if (fieldType.startsWith(SUFFIX_DATE)) { + type = new FieldType(WikittyTypes.DATE, 0, Integer.MAX_VALUE); + } else if (fieldType.startsWith(SUFFIX_NUMERIC)) { + type = new FieldType(WikittyTypes.NUMERIC, 0, Integer.MAX_VALUE); + } else { + type = new FieldType(WikittyTypes.STRING, 0, Integer.MAX_VALUE); + } - Object value; - if (values.isEmpty()) { - value = null; - } else if (values.size() == 1) { - value = values.iterator().next(); - } else { - value = values; + Collection values = doc.getFieldValues(solrField); + values = (Collection)type.getValidValue(values); + + Object value; + if (values.isEmpty()) { + value = null; + } else if (values.size() == 1) { + value = values.iterator().next(); + } else { + value = values; + } + + result.put(fieldName, value); } - - result.put(fieldName, value); } return result; }