Am I not doing it in the point no 4? I am compiling all the folder
that was extracted before, but now with that new class file.

2010/11/12 Lance Norskog <goks...@gmail.com>:
> I think you have to compile all of the stempel source including your
> filter factory into one jar at the same time. Everybody does this; I
> don't know how different Java versions make class file binaries.
>
> On Thu, Nov 11, 2010 at 3:06 AM, Jakub Godawa <jakub.god...@gmail.com> wrote:
>> Hi! Sorry for such a break, but I was moving house... anyway:
>>
>> 1. I took the 
>> ~/apache-solr/src/java/org/apache/solr/analysis/StandardFilterFactory.java
>> file and modified it (named as StempelFilterFactory.java) in Vim that
>> way:
>>
>> package org.getopt.solr.analysis;
>>
>> import org.apache.lucene.analysis.TokenStream;
>> import org.apache.lucene.analysis.standard.StandardFilter;
>>
>> public class StempelTokenFilterFactory extends BaseTokenFilterFactory {
>>  public StempelFilter create(TokenStream input) {
>>    return new StempelFilter(input);
>>  }
>> }
>>
>> 2. Then I put the file to the extracted stempel-1.0.jar in
>> ./org/getopt/solr/analysis/
>> 3. Then I created a class from it: jar -cf
>> StempelTokenFilterFactory.class StempelFilterFactory.java
>> 4. Then I created new stempel-1.0.jar archive: jar -cf stempel-1.0.jar
>> -C ./stempel-1.0/ .
>> 5. Then in schema.xml I've put:
>>
>>    <fieldType name="text_pl" class="solr.TextField">
>>      <analyzer>
>>        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>>        <filter class="solr.LowerCaseFilterFactory"/>
>>        <filter class="org.getopt.solr.analysis.StempelTokenFilterFactory" />
>>      </analyzer>
>>    </fieldType>
>>
>> 6. I started the solr server and I recieved the following error:
>>
>> 2010-11-11 11:50:56 org.apache.solr.common.SolrException log
>> SEVERE: java.lang.ClassFormatError: Incompatible magic value
>> 1347093252 in class file
>> org/getopt/solr/analysis/StempelTokenFilterFactory
>>        at java.lang.ClassLoader.defineClass1(Native Method)
>>        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
>>        at 
>> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>> ...
>>
>> Question: What is wrong? :) I use "jar (fastjar) 0.98" to create jars,
>> I googled on that error but with no answer gave me idea what is wrong
>> in my .java file.
>>
>> Please help, as I believe I am close to the end of that subject.
>>
>> Cheers,
>> Jakub Godawa.
>>
>> 2010/11/3 Lance Norskog <goks...@gmail.com>:
>>> 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
>>>
>>
>
>
>
> --
> Lance Norskog
> goks...@gmail.com
>

Reply via email to