jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bilobag <bilo...@hotmail.com>
Subject Re: How Can I catch the "excerpt" value from highlighting?
Date Fri, 10 Aug 2007 15:15:40 GMT

Here are the lines from my workspace.xml since I can't paste the whole thing:

<-param name="supportHighlighting" value="true"/>
	<-param name="excerptProviderClass"
value="org.apache.jackrabbit.core.query.lucene.DefaultHTMLExcerpt"/>
    	<-param name="textFilterClasses" value="
					org.apache.jackrabbit.extractor.MsWordTextExtractor,
					org.apache.jackrabbit.extractor.MsExcelTextExtractor,
					org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,
					org.apache.jackrabbit.extractor.PdfTextExtractor,
					org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,
					org.apache.jackrabbit.extractor.RTFTextExtractor,
					org.apache.jackrabbit.extractor.HTMLTextExtractor,
				org.apache.jackrabbit.extractor.XMLTextExtractor" />



bilobag wrote:
> 
> Hi, I am having an issue getting my query to return the excerpt from a
> binary file.  The following is the query i'm using:
> 
> query:
> "//*[(@jcr:primaryType = 'cwe:file') and jcr:contains(jcr:content,
> 'apple')]/rep:excerpt() order by @jcr:score desc"
> 
> java:
> RowIterator rowIter = qresult.getRows();		
> String[] columns = qresult.getColumnNames();
> 		
> while(rowIter.hasNext()) {
> 	Row row = rowIter.nextRow();
> 	log.debug("**********text excerpt=" +
> row.getValue("rep:excerpt(.)").getString());
> }
> 
> 
> output:
> 
> javax.jcr.ItemNotFoundException: rep:excerpt(.)
> 	at
> org.apache.jackrabbit.core.query.lucene.RowIteratorImpl$RowImpl.getValue(RowIteratorImpl.java:291)
> 	at
> org.bmpcoe.cwe5.service.impl.SearchServiceImpl.getSearchResults(SearchServiceImpl.java:110)
> 	at
> org.bmpcoe.cwe5.service.SearchServiceTests.testGetSearchResults(SearchServiceTests.java:129)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at junit.framework.TestCase.runTest(TestCase.java:168)
> 	at junit.framework.TestCase.runBare(TestCase.java:134)
> 	at
> org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:69)
> 	at junit.framework.TestResult$1.protect(TestResult.java:110)
> 	at junit.framework.TestResult.runProtected(TestResult.java:128)
> 	at junit.framework.TestResult.run(TestResult.java:113)
> 	at junit.framework.TestCase.run(TestCase.java:124)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:232)
> 	at junit.framework.TestSuite.run(TestSuite.java:227)
> 	at
> org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
> 	at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:32)
> 	at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:421)
> 	at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(JUnitTask.java:1245)
> 	at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:814)
> 	at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1657)
> 	at
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:764)
> 	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
> 	at org.apache.tools.ant.Task.perform(Task.java:348)
> 	at org.apache.tools.ant.Target.execute(Target.java:357)
> 	at org.apache.tools.ant.Target.performTasks(Target.java:385)
> 	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
> 	at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
> 	at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> 	at
> org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
> 	at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
> 	at
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
> 	at
> org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
> 
> workspace.xml:
> 
> <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
>         
> 	
> 	
>     	
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>             
>         </SearchIndex>
> 
> Now I tried using rep:excerpt(.) with the period in the parenthesis.  I
> have also tried to put a specific property in the parenthesis, but i seem
> to get a query error each time that seems like my syntax is wrong.  When i
> use only rep:excerpt() without anything in the parenthesis, the query
> works but only returns </ excerpt> with no text.  I am using Jackrabbit
> 1.3.  I have already configured my workspace.xml to support highlighting
> as seen above.  So my questions are:  
> 
> 1) Am I correctly querying for the excerpt?
> 2) Can I put a property in the rep:excerpt(jcr:content) like so to return
> an excerpt from the property I specify?
> 3)  Is this feature supported in the Jackrabbit version that I'm using?
> 4)  When I do get the excerpt working, I have to use the rowIterator to
> get the excerpt.  If i want to get the nodes using the nodeIterator and
> get an excerpt, do I have to use the rowIterator and nodeIterator together
> or is there an easier way to get both without looping through 2 iterators?
> 
> 
> Marcel Reutegger wrote:
>> 
>> Hi Alexandre,
>> 
>> Alexandre Martins wrote:
>>> I´m trying to use the highlighting, but i dont know how can I take the
>>> value... as a property?
>>> element.getProperty("jcr:excerpt").getString()
>> 
>> please note that the prefix is wrong and that it is a function:
>> 
>> row.getProperty("rep:excerpt(.)").getString();
>> 
>>> Other question,
>>> Where in a configuration file i need to put this line "
>>> name="supportHighlighting" value="true"/>"?
>> 
>> The workspace.xml file in
>> <your-repository-home-dir>/workspaces/<workspace-name>
>> 
>> Add it as a child of the SearchIndex element.
>> 
>> regards
>>   marcel
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/How-Can-I-catch-the-%22excerpt%22-value-from-highlighting--tf3709100.html#a12093251
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.


Mime
View raw message