r704 - trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr
Author: bpoussin Date: 2011-02-15 15:42:04 +0100 (Tue, 15 Feb 2011) New Revision: 704 Url: http://nuiton.org/repositories/revision/wikitty/704 Log: update doc and small clean Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/FieldModifier.java trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySolrConstant.java trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/package-info.java Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/FieldModifier.java =================================================================== --- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/FieldModifier.java 2011-02-10 12:20:08 UTC (rev 703) +++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/FieldModifier.java 2011-02-15 14:42:04 UTC (rev 704) @@ -28,6 +28,7 @@ /** + * use to permit client to modify fieldname during query generation * * @author poussin * @version $Revision$ @@ -35,7 +36,6 @@ * Last update: $Date$ * by : $Author$ */ -/** use to permit client to modify fieldname during query generation */ public interface FieldModifier { public String convertToSolr(WikittyTransaction transaction, String fieldname); public String convertToField(WikittyTransaction transaction, String solrName); Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java =================================================================== --- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java 2011-02-10 12:20:08 UTC (rev 703) +++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySearchEngineSolr.java 2011-02-15 14:42:04 UTC (rev 704) @@ -670,11 +670,9 @@ if (facet.getValues() != null) { for (FacetField.Count value : facet.getValues()) { String topicName = value.getName(); -// if(!topicName.endsWith(TREENODE_EMPTY)) { - int topicCount = (int) value.getCount(); - FacetTopic topic = new FacetTopic(facetName, topicName, topicCount); - topics.add(topic); -// } + int topicCount = (int) value.getCount(); + FacetTopic topic = new FacetTopic(facetName, topicName, topicCount); + topics.add(topic); } } facets.put(facetName, topics); @@ -758,7 +756,7 @@ // recuperation si demande du nombre d'attachment par noeud if (count) { // TODO poussin 20110128 regarder si on ne peut pas - // restreindre les facettes au noeud trouve dans la recherche + // restreindre les facettes aux noeuds trouve dans la recherche // precedente Criteria attCriteria = Search.query(filter).eq( TREENODE_ATTACHED_ALL, wikittyId).criteria() Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySolrConstant.java =================================================================== --- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySolrConstant.java 2011-02-10 12:20:08 UTC (rev 703) +++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/WikittySolrConstant.java 2011-02-15 14:42:04 UTC (rev 704) @@ -64,17 +64,18 @@ /** Precise the query parser to use, is allow leading wildcard */ static final public String SOLR_QUERY_PARSER = "{!wikitty}"; - // Use for indexation tree node + /** Use for indexation tree node */ static final public String TREENODE_PREFIX = SOLR_WIKITTY_PREFIX + "tree."; - // Use as field on TreeNode + /** Use as field on TreeNode */ static final public String TREENODE_ROOT = TREENODE_PREFIX + "root"; - // Use as field on TreeNode, contains parent node id and himself node id + /** Use as field on TreeNode, contains parent node id and himself node id */ static final public String TREENODE_PARENTS = TREENODE_PREFIX + "parents"; - // Use as field on TreeNode, number of parents (root node depth=1) + /** Use as field on TreeNode, number of parents (root node depth=1) */ static final public String TREENODE_DEPTH = TREENODE_PREFIX + "depth"; - // Use as field on Wikitty object attached on TreeNode, TreeNodeId is added at end + /** Use as field on Wikitty object attached on TreeNode, TreeNodeId is added at end */ static final public String TREENODE_ATTACHED = TREENODE_PREFIX + "attached."; - // Use as field on Wikitty object attached on TreeNode, TreeNodeId is added at end + /** Use as field on Wikitty object attached on TreeNode, TreeNodeId is added at end + used for facetisation */ static final public String TREENODE_ATTACHED_ALL = TREENODE_PREFIX + "attached-all"; static final public String SUFFIX_BINARY = "_bi"; Modified: trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/package-info.java =================================================================== --- trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/package-info.java 2011-02-10 12:20:08 UTC (rev 703) +++ trunk/wikitty-solr-impl/src/main/java/org/nuiton/wikitty/storage/solr/package-info.java 2011-02-15 14:42:04 UTC (rev 704) @@ -72,14 +72,29 @@ * <td>#extensions</td><td>string</td><td>la liste des extensions</td><td>true</td><td>true</td> * </tr> * <tr> - * <td>#not_null_fields</td><td>string</td><td>la liste des champs qui doivent etre non null</td><td>true</td><td>true</td> + * <td>#null_field-[fieldname]</td><td>boolean</td><td>vrai si le champs est null</td><td>true</td><td>false</td> * </tr> * <tr> * <td>#fulltext</td><td>text</td><td>la valeur de tous les champs ayant un suffix</td><td>true</td><td>true</td> * </tr> * </table> - * + * * <p> + * Pour les TreeNode, on ajoute des champs sur les objets attaches mais aussi + * sur les TreeNode eux meme. + * Sur les TreeNode: + * <li> #tree.root le nom racine de l'arbre + * <li> #tree.parents la liste de tous les parents de ce noeud, lui et le root compris + * <li> #tree.depth la profondeur de ce noeud dans l'arbre (le root = 1) + * + * Sur les objets attaches: + * <li> #tree.attached.[TreeNode.id] liste des parents du TreeNode (TreeNode.id) + * sur lequel est attache l'objet (l'objet pouvant etre sur plusieurs noeud + * <li> #tree.attached-all liste de tous les parents sur lequel est attache l'objet + * quelque soit le noeud de rattachement (utilise pour les facetisations) + * + * + * <p> * Les champs sont tous restockes dans une extension 'all' pour pouvoir faire * des recherches sur toutes les extensions en meme temps. Par exemple rechercher * tout ce qui porte le 'nom' 'portable' quelque soit l'extension (*.nom:portable) @@ -89,7 +104,7 @@ * indexer les chaines en 'string' et aussi en 'text' pour pouvoir les utiliser * dans les facettes mais aussi que la recheche soit plus permissive. * <p> - * SolR copie tous les champs dans le champs 'text' pour la recherche fulltext + * SolR copie tous les champs dans le champs 'fulltext' pour la recherche fulltext * ce champs est le champs par defaut de recherche. * <p> * id est marque comme devant etre un champs unique (et donc lorsqu'on enregistre @@ -97,12 +112,12 @@ * <p> * Tous les champs sont marque stored car lors de la reindexation des arbres * on a besoin de faire une copie de l'ancien document et donc de pouvoir - * recuperer la valeur des champs (voir alternative) + * recuperer la valeur des champs * <p> * Par exemple si on a un champs <b>product.description: String</b> nous le * retrouverons dans 7 champs de l'index: * - * <li> text : text (car est la copie de tous les champs) + * <li> #fulltext : text (car est la copie de tous les champs) * <li> product.description_s : string (necessaire pour la facetisation) * <li> product.description_s_c : string * <li> product.description_s_t : text @@ -131,19 +146,6 @@ * copyField ne support que une * et au debut ou a la fin, donc actuellement * il serait possible d'avoir * - * <copyField source="*_s" dest="*_s_c"/> - * <copyField source="*_s" dest="*_s_t"/> - * - * et d'enregistrer les champs deux fois en <b>extName.fieldName</b> et en - * <b>all.fieldName</b> ensuite lorsqu'on a besoin de copier un document - * il ne faut prendre les champs id, extensions, not_null_fields et les champs - * ne commencant pas par 'all.' et se finissant exclusivement par - * _bi, _b, _dt, _d, _s, _w. Cest dernier seront enregistrer aussi en all. - * - * Ainsi on passe de 6 champs stocke + 1, a 1 champ stocker + 6. Pour les chaines - * et de 2 champs stockes a 1 champ stocke + 1. - * - * * <h2>alternative au stockage de tout les champs</h2> * <p> * Une alternative serait de ne reprendre que les champs reels (pas les copies)
participants (1)
-
bpoussin@users.nuiton.org