<!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>