com.jalios.jcms.policy
Class BasicLuceneSearchEnginePolicyFilter

java.lang.Object
  extended by com.jalios.jcms.policy.AbstractPolicyFilter
      extended by com.jalios.jcms.policy.BasicLuceneSearchEnginePolicyFilter
All Implemented Interfaces:
PluginComponent, LuceneSearchEnginePolicyFilter, PolicyFilter, Comparable

public class BasicLuceneSearchEnginePolicyFilter
extends AbstractPolicyFilter
implements LuceneSearchEnginePolicyFilter, PluginComponent

This class allow developers to put hooks to change lucene search engine mechanism behaviour. To get more information about the current request in hooks, the method Channel#getCurrentJcmsContext() must be called.

Since:
jcms-5.7.0
Version:
$Revision: 49380 $
Author:
Jean-Philippe Encausse

Field Summary
static String REVISION
           
 
Fields inherited from class com.jalios.jcms.policy.AbstractPolicyFilter
order
 
Constructor Summary
BasicLuceneSearchEnginePolicyFilter()
           
 
Method Summary
 void filterCategoryDocument(org.apache.lucene.document.Document doc, Category cat, String lang)
          This method is called when the given Category is being index in the given language, just before writing the Document into the index.
 void filterFileDocument(org.apache.lucene.document.Document doc, File file)
          This method is called when the given File is being index, just before writing the Document into the index.
 void filterMemberDocument(org.apache.lucene.document.Document doc, Member mbr)
          This method is called when the given Member is being index, just before writing the Document into the index.
 void filterPublicationDocument(org.apache.lucene.document.Document doc, Publication pub, String lang)
          This method is called when the given Publication is being index in the given language, just before writing the Document into the index.
 org.apache.lucene.analysis.Analyzer getAnalyzer(String lang, boolean isIndexing, org.apache.lucene.analysis.Analyzer analyser)
          Return the Lucene Analyzer to use for a given language.
 HashSet<String> getLanguageStopWordsSet(String lang, HashSet<String> jcms)
          Retrieves stop words of the specified language.
 boolean init(Plugin plugin)
          Initialize the component with the given plugin configuration
 
Methods inherited from class com.jalios.jcms.policy.AbstractPolicyFilter
compareTo, equals, getOrder, setOrder
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values
Constructor Detail

BasicLuceneSearchEnginePolicyFilter

public BasicLuceneSearchEnginePolicyFilter()
Method Detail

init

public boolean init(Plugin plugin)
Description copied from interface: PluginComponent
Initialize the component with the given plugin configuration

Specified by:
init in interface PluginComponent
Parameters:
plugin - the calling plugin
Returns:
true if the component has been correctly initialized.
Since:
jcms-5.7.1
See Also:
PluginComponent.init(Plugin)

getLanguageStopWordsSet

public HashSet<String> getLanguageStopWordsSet(String lang,
                                               HashSet<String> jcms)
Description copied from interface: LuceneSearchEnginePolicyFilter
Retrieves stop words of the specified language.

Specified by:
getLanguageStopWordsSet in interface LuceneSearchEnginePolicyFilter
Parameters:
lang - a ISO-639 language code
jcms - the default Set stop word configured in JCMS
Returns:
a Set of stop words String
See Also:
LuceneSearchEnginePolicy.getLanguageStopWordsSet(String)

getAnalyzer

public org.apache.lucene.analysis.Analyzer getAnalyzer(String lang,
                                                       boolean isIndexing,
                                                       org.apache.lucene.analysis.Analyzer analyser)
Description copied from interface: LuceneSearchEnginePolicyFilter
Return the Lucene Analyzer to use for a given language.

Specified by:
getAnalyzer in interface LuceneSearchEnginePolicyFilter
Parameters:
lang - the ISO-639 code of the language analyzed
isIndexing - true if the returned anallyzer is to be used for indexing, false in any other case (e.g. during search etc..) You may want to use this parameter to change the behaviour of your analyzer during those case (for example, synonym analyzer must generate synonyms only when indexing, not during search).
analyser - the internal Analyzer, created by JCMS, that should be returned if you do not want to return a customize analyzer
Returns:
a new Analyzer
See Also:
LuceneSearchEnginePolicyFilter.getAnalyzer(String, boolean, Analyzer)

filterPublicationDocument

public void filterPublicationDocument(org.apache.lucene.document.Document doc,
                                      Publication pub,
                                      String lang)
Description copied from interface: LuceneSearchEnginePolicyFilter
This method is called when the given Publication is being index in the given language, just before writing the Document into the index. You can use this hook to modify the Document as you wish by adding or removing field.

Specified by:
filterPublicationDocument in interface LuceneSearchEnginePolicyFilter
Parameters:
doc - the lucene Document that was created by JCMS search engine
pub - the Publication being indexed
lang - the indexed language
See Also:
LuceneSearchEnginePolicyFilter.filterPublicationDocument(Document, Publication, String)

filterCategoryDocument

public void filterCategoryDocument(org.apache.lucene.document.Document doc,
                                   Category cat,
                                   String lang)
Description copied from interface: LuceneSearchEnginePolicyFilter
This method is called when the given Category is being index in the given language, just before writing the Document into the index. You can use this hook to modify the Document as you wish by adding or removing field.

Specified by:
filterCategoryDocument in interface LuceneSearchEnginePolicyFilter
Parameters:
doc - the lucene Document that was created by JCMS search engine
cat - the Category being indexed
lang - the indexed language
See Also:
LuceneSearchEnginePolicyFilter.filterCategoryDocument(Document, Category, String)

filterFileDocument

public void filterFileDocument(org.apache.lucene.document.Document doc,
                               File file)
Description copied from interface: LuceneSearchEnginePolicyFilter
This method is called when the given File is being index, just before writing the Document into the index. You can use this hook to modify the Document as you wish by adding or removing field.

Specified by:
filterFileDocument in interface LuceneSearchEnginePolicyFilter
Parameters:
doc - the lucene Document that was created by JCMS search engine
file - the File being indexed
See Also:
LuceneSearchEnginePolicyFilter.filterFileDocument(Document, java.io.File)

filterMemberDocument

public void filterMemberDocument(org.apache.lucene.document.Document doc,
                                 Member mbr)
Description copied from interface: LuceneSearchEnginePolicyFilter
This method is called when the given Member is being index, just before writing the Document into the index. You can use this hook to modify the Document as you wish by adding or removing field.

Specified by:
filterMemberDocument in interface LuceneSearchEnginePolicyFilter
Parameters:
doc - the lucene Document that was created by JCMS search engine
mbr - the Member being indexed
See Also:
LuceneSearchEnginePolicyFilter.filterMemberDocument(Document, Member)


Copyright © 2001-2010 Jalios SA. All Rights Reserved.