Here's the problem: Solr is a little dumb about these Filter classes, and so you have to make a Factory object for the Stempel Filter.
There are a lot of other FilterFactory classes. You would have to just copy one and change the names to Stempel and it might actually work. This will take some Solr programming- perhaps the author can help you? On Tue, Nov 2, 2010 at 7:08 AM, Jakub Godawa <jakub.god...@gmail.com> wrote: > Sorry, I am not Java programmer at all. I would appreciate more > verbose (or step by step) help. > > 2010/11/2 Bernd Fehling <bernd.fehl...@uni-bielefeld.de>: >> >> So you call org.getopt.solr.analysis.StempelTokenFilterFactory. >> In this case I would assume a file StempelTokenFilterFactory.class >> in your directory org/getopt/solr/analysis/. >> >> And a class which extends the BaseTokenFilterFactory rigth? >> ... >> public class StempelTokenFilterFactory extends BaseTokenFilterFactory >> implements ResourceLoaderAware { >> ... >> >> >> >> Am 02.11.2010 14:20, schrieb Jakub Godawa: >>> This is what stempel-1.0.jar consist of after jar -xf: >>> >>> jgod...@ubuntu:~/apache-solr-1.4.1/ifaq/lib$ ls -R org/ >>> org/: >>> egothor getopt >>> >>> org/egothor: >>> stemmer >>> >>> org/egothor/stemmer: >>> Cell.class Diff.class Gener.class MultiTrie2.class >>> Optimizer2.class Reduce.class Row.class TestAll.class >>> TestLoad.class Trie$StrEnum.class >>> Compile.class DiffIt.class Lift.class MultiTrie.class >>> Optimizer.class Reduce$Remap.class Stock.class Test.class >>> Trie.class >>> >>> org/getopt: >>> stempel >>> >>> org/getopt/stempel: >>> Benchmark.class lucene Stemmer.class >>> >>> org/getopt/stempel/lucene: >>> StempelAnalyzer.class StempelFilter.class >>> jgod...@ubuntu:~/apache-solr-1.4.1/ifaq/lib$ ls -R META-INF/ >>> META-INF/: >>> MANIFEST.MF >>> jgod...@ubuntu:~/apache-solr-1.4.1/ifaq/lib$ ls -R res >>> res: >>> tables >>> >>> res/tables: >>> readme.txt stemmer_1000.out stemmer_100.out stemmer_2000.out >>> stemmer_200.out stemmer_500.out stemmer_700.out >>> >>> 2010/11/2 Bernd Fehling <bernd.fehl...@uni-bielefeld.de>: >>>> Hi Jakub, >>>> >>>> if you unzip your stempel-1.0.jar do you have the >>>> required directory structure and file in there? >>>> org/getopt/stempel/lucene/StempelFilter.class >>>> >>>> Regards, >>>> Bernd >>>> >>>> Am 02.11.2010 13:54, schrieb Jakub Godawa: >>>>> Erick I've put the jar files like that before. I also added the >>>>> directive and put the file in instanceDir/lib >>>>> >>>>> What is still a problem is that even the files are loaded: >>>>> 2010-11-02 13:20:48 org.apache.solr.core.SolrResourceLoader >>>>> replaceClassLoader >>>>> INFO: Adding >>>>> 'file:/home/jgodawa/apache-solr-1.4.1/ifaq/lib/stempel-1.0.jar' >>>>> to classloader >>>>> >>>>> I am not able to use the FilterFactory... maybe I am attempting it in >>>>> a wrong way? >>>>> >>>>> Cheers, >>>>> Jakub Godawa. >>>>> >>>>> 2010/11/2 Erick Erickson <erickerick...@gmail.com>: >>>>>> The polish stemmer jar file needs to be findable by Solr, if you copy >>>>>> it to <solr_home>/lib and restart solr you should be set. >>>>>> >>>>>> Alternatively, you can add another <lib> directive to the solrconfig.xml >>>>>> file >>>>>> (there are several examples in that file already). >>>>>> >>>>>> I'm a little confused about not being able to find TokenFilter, is that >>>>>> still >>>>>> a problem? >>>>>> >>>>>> HTH >>>>>> Erick >>>>>> >>>>>> On Tue, Nov 2, 2010 at 8:07 AM, Jakub Godawa <jakub.god...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Thank you Bernd! I couldn't make it run though. Here is my problem: >>>>>>> >>>>>>> 1. There is a file ~/apache-solr-1.4.1/ifaq/lib/stempel-1.0.jar >>>>>>> 2. In ~/apache-solr-1.4.1/ifaq/solr/conf/solrconfig.xml there is a >>>>>>> directive: <lib path="../lib/stempel-1.0.jar" /> >>>>>>> 3. In ~/apache-solr-1.4.1/ifaq/solr/conf/schema.xml there is fieldType: >>>>>>> >>>>>>> (...) >>>>>>> <!-- Polish --> >>>>>>> <fieldType name="text_pl" class="solr.TextField"> >>>>>>> <analyzer> >>>>>>> <tokenizer class="solr.WhitespaceTokenizerFactory"/> >>>>>>> <filter class="solr.LowerCaseFilterFactory"/> >>>>>>> <filter class="org.getopt.stempel.lucene.StempelFilter" /> >>>>>>> <!-- <filter >>>>>>> class="org.getopt.solr.analysis.StempelTokenFilterFactory" >>>>>>> protected="protwords.txt" /> --> >>>>>>> </analyzer> >>>>>>> </fieldType> >>>>>>> (...) >>>>>>> >>>>>>> 4. jar file is loaded but I got an error: >>>>>>> SEVERE: Could not start SOLR. Check solr/home property >>>>>>> java.lang.NoClassDefFoundError: org/apache/lucene/analysis/TokenFilter >>>>>>> at java.lang.ClassLoader.defineClass1(Native Method) >>>>>>> at java.lang.ClassLoader.defineClass(ClassLoader.java:634) >>>>>>> at >>>>>>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) >>>>>>> (...) >>>>>>> >>>>>>> 5. Different class gave me that one: >>>>>>> SEVERE: org.apache.solr.common.SolrException: Error loading class >>>>>>> 'org.getopt.solr.analysis.StempelTokenFilterFactory' >>>>>>> at >>>>>>> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:375) >>>>>>> at >>>>>>> org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:390) >>>>>>> (...) >>>>>>> >>>>>>> Question is: How to make <fieldType /> and <filter /> work with that >>>>>>> Stempel? :) >>>>>>> >>>>>>> Cheers, >>>>>>> Jakub Godawa. >>>>>>> >>>>>>> 2010/10/29 Bernd Fehling <bernd.fehl...@uni-bielefeld.de>: >>>>>>>> Hi Jakub, >>>>>>>> >>>>>>>> I have ported the KStemmer for use in most recent Solr trunk version. >>>>>>>> My stemmer is located in the lib directory of Solr >>>>>>> "solr/lib/KStemmer-2.00.jar" >>>>>>>> because it belongs to Solr. >>>>>>>> >>>>>>>> Write it as FilterFactory and use it as Filter like: >>>>>>>> <filter class="de.ubbielefeld.solr.analysis.KStemFilterFactory" >>>>>>> protected="protwords.txt" /> >>>>>>>> >>>>>>>> This is how my fieldType looks like: >>>>>>>> >>>>>>>> <fieldType name="text_kstem" class="solr.TextField" >>>>>>> positionIncrementGap="100"> >>>>>>>> <analyzer type="index"> >>>>>>>> <tokenizer class="solr.WhitespaceTokenizerFactory" /> >>>>>>>> <filter class="solr.StopFilterFactory" ignoreCase="true" >>>>>>> words="stopwords.txt" enablePositionIncrements="false" /> >>>>>>>> <filter class="solr.WordDelimiterFilterFactory" >>>>>>> generateWordParts="1" generateNumberParts="1" catenateWords="1" >>>>>>> catenateNumbers="1" >>>>>>>> catenateAll="0" splitOnCaseChange="1" /> >>>>>>>> <filter class="solr.LowerCaseFilterFactory" /> >>>>>>>> <filter class="de.ubbielefeld.solr.analysis.KStemFilterFactory" >>>>>>> protected="protwords.txt" /> >>>>>>>> <filter class="solr.RemoveDuplicatesTokenFilterFactory" /> >>>>>>>> </analyzer> >>>>>>>> <analyzer type="query"> >>>>>>>> <tokenizer class="solr.WhitespaceTokenizerFactory" /> >>>>>>>> <filter class="solr.StopFilterFactory" ignoreCase="true" >>>>>>> words="stopwords.txt" /> >>>>>>>> <filter class="solr.WordDelimiterFilterFactory" >>>>>>> generateWordParts="1" generateNumberParts="1" catenateWords="0" >>>>>>> catenateNumbers="0" >>>>>>>> catenateAll="0" splitOnCaseChange="1" /> >>>>>>>> <filter class="solr.LowerCaseFilterFactory" /> >>>>>>>> <filter class="de.ubbielefeld.solr.analysis.KStemFilterFactory" >>>>>>> protected="protwords.txt" /> >>>>>>>> <filter class="solr.RemoveDuplicatesTokenFilterFactory" /> >>>>>>>> </analyzer> >>>>>>>> </fieldType> >>>>>>>> >>>>>>>> Regards, >>>>>>>> Bernd >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Am 28.10.2010 14:56, schrieb Jakub Godawa: >>>>>>>>> Hi! >>>>>>>>> There is a polish stemmer http://www.getopt.org/stempel/ and I have >>>>>>>>> problems connecting it with solr 1.4.1 >>>>>>>>> Questions: >>>>>>>>> >>>>>>>>> 1. Where EXACTLY do I put "stemper-1.0.jar" file? >>>>>>>>> 2. How do I register the file, so I can build a fieldType like: >>>>>>>>> >>>>>>>>> <fieldType name="text_pl" class="solr.TextField"> >>>>>>>>> <analyzer >>>>>>>>> class="org.geoopt.solr.analysis.StempelTokenFilterFactory"/> >>>>>>>>> </fieldType> >>>>>>>>> >>>>>>>>> 3. Is that the right approach to make it work? >>>>>>>>> >>>>>>>>> Thanks for verbose explanation, >>>>>>>>> Jakub. >> > -- Lance Norskog goks...@gmail.com