org.nuiton.wikitty.storage.solr
Class WikittySearchEngineSolrIndexInTreeNode

java.lang.Object
  extended by org.nuiton.wikitty.storage.solr.WikittySearchEngineSolrIndexInTreeNode
All Implemented Interfaces:
WikittySearchEngine

public class WikittySearchEngineSolrIndexInTreeNode
extends Object
implements WikittySearchEngine

Version:
$Revision: 650 $ Last update: $Date: 2010-12-23 12:44:57 +0100 (jeu., 23 déc. 2010) $ by : $Author: sletellier $
Author:
poussin

Field Summary
protected  TypeFieldModifier fieldModifier
          Field modifier use to transform to solr format
static String[] fieldToCopyPattern
          pattern to copy field from solr document to another solr document copy field s_c and s_t are not copied tree fields are not copied #all. fields are not copied
static String[] fieldToCopyPatternWithExcludeAll
          NOTE: On ne pourra utiliser ces patterns pour la copie que lorsque la config solr acceptera de creer des copyField avec des expressions regulieres Ce qui permettra de genere les champs #all.* via la config solr et non pas de devoir les ajouter via le code Java.
protected  SolrResource solrResource
          JTA resource
protected  org.apache.solr.client.solrj.SolrServer solrServer
          solr server
 
Constructor Summary
WikittySearchEngineSolrIndexInTreeNode(org.nuiton.util.ApplicationConfig config, WikittyExtensionStorage extensionStorage)
          Init wikitty search engine on solr embedded server.
 
Method Summary
 void clear(WikittyTransaction transaction)
           
protected  org.apache.solr.common.SolrInputDocument createIndexDocument(Wikitty w)
          Create all index document to used to modify indexation.
 void delete(WikittyTransaction transaction, Collection<String> ids)
           
 PagedResult<String> findAllByCriteria(WikittyTransaction transaction, Criteria criteria)
           
 Map<String,Integer> findAllChildrenCount(WikittyTransaction transaction, Wikitty w, Criteria filter)
          Cette implantation n'est pas vraiment optimale en place memoire si le 'filter' retourne enormement de resultat ou qu'il y a beaucoup d'attachment dans l'arbre.
 Integer findNodeCount(WikittyTransaction transaction, Wikitty w, Criteria filter)
          Cette implantation n'est pas vraiment optimale en place memoire si le 'filter' retourne enormement de resultat ou qu'il y a beaucoup d'attachment dans l'arbre.
protected  String getTreeRoot(SolrResource solrResource, org.apache.solr.client.solrj.SolrServer solrServer, String node)
           
protected  void reindexTreeNode(SolrResource solrResource, LinkedHashSet<String> treeNodeToIndex)
          Reindexe les noeuds passe en parametre et reindexe automatiquement leurs sous noeuds
 void store(WikittyTransaction transaction, Collection<Wikitty> wikitties)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fieldToCopyPattern

public static final String[] fieldToCopyPattern
pattern to copy field from solr document to another solr document copy field s_c and s_t are not copied tree fields are not copied #all. fields are not copied


fieldToCopyPatternWithExcludeAll

public static final String[] fieldToCopyPatternWithExcludeAll
NOTE: On ne pourra utiliser ces patterns pour la copie que lorsque la config solr acceptera de creer des copyField avec des expressions regulieres Ce qui permettra de genere les champs #all.* via la config solr et non pas de devoir les ajouter via le code Java.


solrServer

protected org.apache.solr.client.solrj.SolrServer solrServer
solr server


fieldModifier

protected TypeFieldModifier fieldModifier
Field modifier use to transform to solr format


solrResource

protected SolrResource solrResource
JTA resource

Constructor Detail

WikittySearchEngineSolrIndexInTreeNode

public WikittySearchEngineSolrIndexInTreeNode(org.nuiton.util.ApplicationConfig config,
                                              WikittyExtensionStorage extensionStorage)
Init wikitty search engine on solr embedded server.

Parameters:
extensionStorage - extension storage
properties - properties (can be null)
Method Detail

clear

public void clear(WikittyTransaction transaction)
Specified by:
clear in interface WikittySearchEngine

store

public void store(WikittyTransaction transaction,
                  Collection<Wikitty> wikitties)
Specified by:
store in interface WikittySearchEngine

getTreeRoot

protected String getTreeRoot(SolrResource solrResource,
                             org.apache.solr.client.solrj.SolrServer solrServer,
                             String node)
                      throws Exception
Throws:
Exception

reindexTreeNode

protected void reindexTreeNode(SolrResource solrResource,
                               LinkedHashSet<String> treeNodeToIndex)
                        throws Exception
Reindexe les noeuds passe en parametre et reindexe automatiquement leurs sous noeuds

Parameters:
solrResource -
treeNodeToIndex -
Throws:
Exception

delete

public void delete(WikittyTransaction transaction,
                   Collection<String> ids)
            throws WikittyException
Specified by:
delete in interface WikittySearchEngine
Throws:
WikittyException

findAllByCriteria

public PagedResult<String> findAllByCriteria(WikittyTransaction transaction,
                                             Criteria criteria)
Specified by:
findAllByCriteria in interface WikittySearchEngine

findNodeCount

public Integer findNodeCount(WikittyTransaction transaction,
                             Wikitty w,
                             Criteria filter)
Cette implantation n'est pas vraiment optimale en place memoire si le 'filter' retourne enormement de resultat ou qu'il y a beaucoup d'attachment dans l'arbre. On a en memoire l'ensemble des ids des attachments du sous arbre et l'ensemble des ids du resultat du filter.

Specified by:
findNodeCount in interface WikittySearchEngine
Parameters:
transaction -
w -
filter -
Returns:

findAllChildrenCount

public Map<String,Integer> findAllChildrenCount(WikittyTransaction transaction,
                                                Wikitty w,
                                                Criteria filter)
Cette implantation n'est pas vraiment optimale en place memoire si le 'filter' retourne enormement de resultat ou qu'il y a beaucoup d'attachment dans l'arbre. On a en memoire l'ensemble des ids des attachments du sous arbre et l'ensemble des ids du resultat du filter.

Specified by:
findAllChildrenCount in interface WikittySearchEngine
Parameters:
transaction -
w -
filter -
Returns:

createIndexDocument

protected org.apache.solr.common.SolrInputDocument createIndexDocument(Wikitty w)
Create all index document to used to modify indexation. this method don't modify index. The document looks like : SolrId : wikittyId extensions : extensionNames fieldName : fieldValue

Parameters:
w - all wikitties object to index
Returns:
solrInputDocument used to modify index


Copyright © 2009-2010 CodeLutin. All Rights Reserved.