<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV dir=ltr align=left><SPAN class=885562212-18102006><FONT face=Arial 
color=#0000ff size=2>Christoph, Sakshi -</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=885562212-18102006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=885562212-18102006><FONT face=Arial 
color=#0000ff size=2>The approach below works fine.  You need some way to 
get past the OpenCms search interface and into the Lucene API, so I've attached 
a snippet of code which gets you a Lucene IndexSearcher from the OpenCms 
runtime framework.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=885562212-18102006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=885562212-18102006><FONT face=Arial 
color=#0000ff size=2>Jon</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> opencms-dev-bounces@opencms.org 
[mailto:opencms-dev-bounces@opencms.org] <B>On Behalf Of </B>Christoph 
Schönfeld<BR><B>Sent:</B> 18 October 2006 11:34<BR><B>To:</B> The OpenCms 
mailing list<BR><B>Subject:</B> Re: [opencms-dev] Search on different fields of 
structured contenttype.<BR></FONT><BR></DIV>
<DIV></DIV><FONT face="Helvetica, Arial, sans-serif">As far as I understand 
OpenCms correctly what you want is possible by providing a custom Lucene 
Document Factory (which implements 
org.opencms.search.documents.I_CmsDocumentFactory) as part of your own custom 
OpenCms Document Type class. Your </FONT><FONT 
face="Helvetica, Arial, sans-serif">implementation of the interface method 
</FONT><FONT 
face="Helvetica, Arial, sans-serif">"org.opencms.search.documents.I_CmsDocumentFactory.</FONT><FONT 
face="Helvetica, Arial, sans-serif">newInstance(</FONT><FONT 
face="Helvetica, Arial, sans-serif">cms:</FONT><FONT 
face="Helvetica, Arial, sans-serif"> CmsObject, resource: </FONT><FONT 
face="Helvetica, Arial, sans-serif">A_CmsIndexResource</FONT><FONT 
face="Helvetica, Arial, sans-serif">, </FONT><FONT 
face="Helvetica, Arial, sans-serif">language:</FONT><FONT 
face="Helvetica, Arial, sans-serif"> String): 
org.apache.lucene.document.Document" should be able to </FONT><FONT 
face="Helvetica, Arial, sans-serif">add the custom fields you need to the 
</FONT><FONT face="Helvetica, Arial, sans-serif">returned </FONT><FONT 
face="Helvetica, Arial, sans-serif">Lucene Document.<BR><BR>This class has 
probably to appear as the "Document type class" in the search index source 
frontend (Administration View >  Search Management >  View index 
sources >  Index source overview). <BR></FONT><FONT 
face="Helvetica, Arial, sans-serif"><BR>See 
org.opencms.search.documents.CmsDocumentXmlPage for an example of such a class. 
It extends A_CmsVfsDocument which implements the afore mentioned 
interface.<BR></FONT><FONT face="Helvetica, Arial, sans-serif"><BR>I plan to use 
this approach for my own project, though I did not </FONT><FONT 
face="Helvetica, Arial, sans-serif">yet </FONT><FONT 
face="Helvetica, Arial, sans-serif">validate it and I do not yet know how to 
build the customized search on top of it.<BR></FONT><BR><FONT 
face="Helvetica, Arial, sans-serif"><BR>Christoph<BR><BR></FONT><BR></BODY></HTML>