You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Marcel Reutegger <ma...@gmx.net> on 2006/07/03 12:03:26 UTC
Re: how to verify that text is being indexed?
Torgeir Veimo wrote:
> I have trouble doing some queries, eg
>
> /jcr:root//element(*,nt:resource)[jcr:contains(.,'t')]
are you sure the xml file contains the word 't'? the jcr:contains
function will not find words that just contain the letter 't'.
> where the result come up empty. The text has content type text/xml. How
> can I verify that those nodes i save indeed are being indexed?
Unfortunately there is not much logging that you can turn on. This
leaves you with two options:
- debug jackrabbit (method: NodeIndexer.addBinaryValue())
- inspect the lucene index (e.g. using Luke:
http://www.getopt.org/luke/luke.jnlp)
regards
marcel
Re: how to verify that text is being indexed?
Posted by Marcel Reutegger <ma...@gmx.net>.
Torgeir Veimo wrote:
> Marcel Reutegger wrote:
>> Torgeir Veimo wrote:
>>> Inspection using Luke sounds like a good option. However, it turned
>>> out to be a spelling error being introduced in the text filter
>>> classes "MsreplaceTextFilter", so an exception was being thrown that
>>> disabled text indexing..
>>
>> hmm, do you mean text filtering was disabled completely? This is not
>> the intended behaviour. Jackrabbit should only issue a warning message
>> for the misspelled text filter and proceed initializing the next one.
>> Can you confirm that none of the text filters were initialized?
>
> Here's the exception:
>
> 00:05:04,028 WARN SearchIndex - Invalid TextFilter class:
> org.apache.jackrabbit.core.query.MsreplaceTextFilter
> java.lang.ClassNotFoundException:
> org.apache.jackrabbit.core.query.MsreplaceTextFilter
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
>
> at
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
>
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:164)
> at
> org.apache.jackrabbit.core.query.lucene.SearchIndex.setTextFilterClasses(SearchIndex.java:739)
This is what I expected. Jackrabbit issues a warn message, but will
continue with the initialization of the remaining text filters.
regards
marcel
Re: how to verify that text is being indexed?
Posted by Torgeir Veimo <to...@pobox.com>.
Marcel Reutegger wrote:
> Torgeir Veimo wrote:
>> Inspection using Luke sounds like a good option. However, it turned
>> out to be a spelling error being introduced in the text filter classes
>> "MsreplaceTextFilter", so an exception was being thrown that disabled
>> text indexing..
>
> hmm, do you mean text filtering was disabled completely? This is not the
> intended behaviour. Jackrabbit should only issue a warning message for
> the misspelled text filter and proceed initializing the next one. Can
> you confirm that none of the text filters were initialized?
Here's the exception:
00:05:04,028 WARN SearchIndex - Invalid TextFilter class:
org.apache.jackrabbit.core.query.MsreplaceTextFilter
java.lang.ClassNotFoundException:
org.apache.jackrabbit.core.query.MsreplaceTextFilter
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at
org.apache.jackrabbit.core.query.lucene.SearchIndex.setTextFilterClasses(SearchIndex.java:739)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.commons.collections.BeanMap.put(BeanMap.java:367)
at
org.apache.jackrabbit.core.config.BeanConfig.newInstance(BeanConfig.java:96)
at
org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(SearchManager.java:525)
at
org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:273)
at
org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1434)
at
org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImpl.java:540)
at
org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:245)
at
org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:484)
at
org.apache.jackrabbit.core.TransientRepository$2.getRepository(TransientRepository.java:241)
at
org.apache.jackrabbit.core.TransientRepository.startRepository(TransientRepository.java:261)
It might very well be that my understanding of how the text indexing
works was flawed and that I just searched the wrong way.
--
-Torgeir
Re: how to verify that text is being indexed?
Posted by Marcel Reutegger <ma...@gmx.net>.
Torgeir Veimo wrote:
> Inspection using Luke sounds like a good option. However, it turned out
> to be a spelling error being introduced in the text filter classes
> "MsreplaceTextFilter", so an exception was being thrown that disabled
> text indexing..
hmm, do you mean text filtering was disabled completely? This is not the
intended behaviour. Jackrabbit should only issue a warning message for
the misspelled text filter and proceed initializing the next one. Can
you confirm that none of the text filters were initialized?
regards
marcel
Re: how to verify that text is being indexed?
Posted by Torgeir Veimo <to...@pobox.com>.
Marcel Reutegger wrote:
> Torgeir Veimo wrote:
>> I have trouble doing some queries, eg
>>
>> /jcr:root//element(*,nt:resource)[jcr:contains(.,'t')]
>
> are you sure the xml file contains the word 't'? the jcr:contains
> function will not find words that just contain the letter 't'.
>
>> where the result come up empty. The text has content type text/xml.
>> How can I verify that those nodes i save indeed are being indexed?
>
> Unfortunately there is not much logging that you can turn on. This
> leaves you with two options:
> - debug jackrabbit (method: NodeIndexer.addBinaryValue())
> - inspect the lucene index (e.g. using Luke:
> http://www.getopt.org/luke/luke.jnlp)
Inspection using Luke sounds like a good option. However, it turned out
to be a spelling error being introduced in the text filter classes
"MsreplaceTextFilter", so an exception was being thrown that disabled
text indexing..
--
-Torgeir