Author: jcouteau Date: 2011-04-12 18:08:25 +0200 (Tue, 12 Apr 2011) New Revision: 794 Url: http://nuiton.org/repositories/revision/wikitty/794 Log: Fix search on Treenodes Modified: trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java Modified: trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java =================================================================== --- trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java 2011-04-12 15:31:01 UTC (rev 793) +++ trunk/wikitty-solr/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java 2011-04-12 16:08:25 UTC (rev 794) @@ -828,13 +828,18 @@ // de construire l'arbre for (SolrDocument d : solrResults) { String id = (String) d.getFieldValue(SOLR_ID); - String parentId = (String) d.getFieldValue(SolrUtil.getSolrFieldName( + + List<String> parentIds = (List<String>) d.getFieldValue(SolrUtil.getSolrFieldName( WikittyTreeNode.FQ_FIELD_WIKITTYTREENODE_PARENT, TYPE.WIKITTY)); int nb = counts.containsKey(id) ? counts.get(id) : 0; TreeNodeResult<String> child = new TreeNodeResult<String>(id, nb); allTreeNodeResult.put(id, child); - childParent.put(id, parentId); + if (parentIds != null) { + for (String parentId : parentIds) { + childParent.put(id, parentId); + } + } } // construction de l'arbre avant de le retourner for(Map.Entry<String, TreeNodeResult<String>> e : allTreeNodeResult.entrySet()) { @@ -843,7 +848,9 @@ if (allTreeNodeResult.containsKey(parentId)) { TreeNodeResult<String> child = e.getValue(); TreeNodeResult<String> parent = allTreeNodeResult.get(parentId); - parent.add(child); + if (parent != child) { + parent.add(child); + } } } result = allTreeNodeResult.get(wikittyId);
participants (1)
-
jcouteau@users.nuiton.org