<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Lucene search fails with NullPointerException in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/lucene-search-fails-with-nullpointerexception/m-p/137362#M96304</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Dear list,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am performing a Lucene search like this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;TYPE:"kc:content" AND PATH:"/cm:generalclassifiable//cm:Foo//member" OR PATH:"/cm:generalclassifiable//cm:Bar//member"&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;This fails with the following exception:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;java.lang.NullPointerException&lt;BR /&gt;Stack Trace:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.index.MultiTermDocs.doc(MultiReader.java:352)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.query.CachingTermPositions.doc(CachingTermPositions.java:116)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.query.LeafScorer.skipToMax(LeafScorer.java:457)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.query.LeafScorer.move(LeafScorer.java:498)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.query.LeafScorer.findNext(LeafScorer.java:434)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.query.LeafScorer.skipTo(LeafScorer.java:926)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.query.PathScorer.skipTo(PathScorer.java:194)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.BooleanScorer2$SingleMatchScorer.skipTo(BooleanScorer2.java:147)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.ReqOptSumScorer.score(ReqOptSumScorer.java:70)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:328)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.BooleanScorer2.score(BooleanScorer2.java:292)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:133)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:100)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.Hits.getMoreDocs(Hits.java:66)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.Hits.&amp;lt;init&amp;gt;(Hits.java:45)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.Searcher.search(Searcher.java:45)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.search.Searcher.search(Searcher.java:37)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.impl.lucene.ADMLuceneSearcherImpl.query(ADMLuceneSearcherImpl.java:318)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.search.SearcherComponent.query(SearcherComponent.java:85)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * java.lang.reflect.Method.invoke(Method.java:585)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:281)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:187)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:154)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:241)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * $Proxy16.query(Unknown Source)&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;However, if I move to &lt;/SPAN&gt;&lt;A href="http://en.wikipedia.org/wiki/Disjunctive_normal_form" rel="nofollow noopener noreferrer"&gt;Disjunctive Normal Form&lt;/A&gt;&lt;SPAN&gt;, meaning:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;(TYPE:"kc:content" AND&amp;nbsp; PATH:"/cm:generalclassifiable//cm:Foo//member") OR (TYPE:"kc:content" AND&amp;nbsp; PATH:"/cm:generalclassifiable//cm:Bar//member")&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;the query succeeds. The bug can be reproduced in the Node Browser.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It looks like a Lucene bug.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In order to work around these &lt;/SPAN&gt;&lt;A href="http://forums.alfresco.com/viewtopic.php?t=10066" rel="nofollow noopener noreferrer"&gt;Lucene issues&lt;/A&gt;&lt;SPAN&gt; with Boolean queries, is there another efficient way to perform searches on type and categories?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Kaspar&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Dec 2007 10:21:22 GMT</pubDate>
    <dc:creator>hbf</dc:creator>
    <dc:date>2007-12-27T10:21:22Z</dc:date>
    <item>
      <title>Lucene search fails with NullPointerException</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/lucene-search-fails-with-nullpointerexception/m-p/137362#M96304</link>
      <description>Dear list,I am performing a Lucene search like this:TYPE:"kc:content" AND PATH:"/cm:generalclassifiable//cm:Foo//member" OR PATH:"/cm:generalclassifiable//cm:Bar//member"‍This fails with the following exception:java.lang.NullPointerExceptionStack Trace:&amp;nbsp;&amp;nbsp;&amp;nbsp; * org.apache.lucene.index.MultiTermDocs.doc</description>
      <pubDate>Thu, 27 Dec 2007 10:21:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/lucene-search-fails-with-nullpointerexception/m-p/137362#M96304</guid>
      <dc:creator>hbf</dc:creator>
      <dc:date>2007-12-27T10:21:22Z</dc:date>
    </item>
    <item>
      <title>Re: Lucene search fails with NullPointerException</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/lucene-search-fails-with-nullpointerexception/m-p/137363#M96305</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here is a workaround:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;TYPE:"kc:content" AND (PATH:"/cm:generalclassifiable//cm:Foo//member" OR PATH:"/cm:generalclassifiable//cm:Bar//member")&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Dec 2007 10:38:48 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/lucene-search-fails-with-nullpointerexception/m-p/137363#M96305</guid>
      <dc:creator>hbf</dc:creator>
      <dc:date>2007-12-27T10:38:48Z</dc:date>
    </item>
  </channel>
</rss>

