Hi,
Thanks.
Here is another sample of the Lucene plugin (but specific to Curriki).
That can help you to understand what you can do with it :
jeremi
On 4/19/07, Michael Guntli <michael.guntli(a)leica-geosystems.com> wrote:
 With RC1 lucene seems to work again, so i have costumized the existing search
 form from jkraemer
 (
http://www.jkraemer.net/static/maven/xwiki/plugins/lucene-plugin/install.ht…)
 But keep attention: it's just a quick&dirty example to display the results
 in a table ;-)
 As im not very familiar with velocity, the code is quite ugly! (for example
 i didn't find a while loop to output the number of stars for score-quality,
 so i did it with if, if, if..)
 it still has some bugs:
 * if you search for a regular expression (e.g. win*), then the query for the
 next page will be win</strong>
 * non wiki-documents and non-attachments will be hidden from the results, so
 it could happen that you see an empty page with a link to the next results
 (that's because searchresults.hitcount returns all results, also the hidden
 ones..)
 * many more..
 * icons are hard-coded.. (/skins/lgs/*.png)
 You can get the icons for free from famfamfam:
 
http://www.famfamfam.com/lab/icons/silk/
 ---------------------------
 Searchform.vm:
 1 Search
 #set($query = $request.getParameter("text"))
 #if(!$query)
         #set($query = "")
 #end
 #warning("This is the new lucene search engine.\\
 If you experience any problems, try to use the default xwiki
 [Search>WebSearch?text=$query]..")
 #set($itemsPerPage = "30")
 #set($doRebuild = $request.getParameter("rebuild"))
 #if($doRebuild=="yes")
         #set($lucene = $xwiki.getPlugin("lucene"))
         #if($lucene)
                 #set($documentCount = $lucene.rebuildIndex($xwiki,$context))
                 #if(${documentCount}>=0)
                         Started index rebuild with $documentCount documents. Will take
some time
 depending on the number of pages/attachments.
                 #else
                         Index rebuild failed.
                 #end
         #end
 #else
         #if($xwiki.hasAdminRights())
                 [rebuild Index>${doc.web}.${doc.name}?rebuild=yes]
         #end
 #end
 {pre}
 <form action="$doc.name" method="post">
 <input type="text" name="text" value="$query" />
 <input type="submit" value="Search"/>
 </form>
 {/pre}
 #if($query != "")
         #set($lucene = $xwiki.getPlugin("lucene"))
         #if($lucene)
                 #set($wikinames = "xwiki")
                 #set($languages = "default,en,de")
                 #set($firstIndex = $request.getParameter("firstIndex"))
                 #if(!$firstIndex)
                         #set($firstIndex = "1")
                 #end
                 #set($searchresults = $lucene.getSearchResults($query, $wikinames,
 $languages, $xwiki))
                 #set($results = $searchresults.getResults($firstIndex,$itemsPerPage))
                 #if($results.size()>0)
                         #set($lastIndex=$searchresults.getEndIndex($firstIndex,
$itemsPerPage))
                         #if($searchresults.hitcount==1)
                                 ##{pre} $msg.get("oneresult"):{/pre}
                         #else
                                 ##{pre}$msg.get("results") $firstIndex -
$lastIndex $msg.get("of")
 ${searchresults.hitcount}:{/pre}
                         #if($searchresults.hasPrevious($firstIndex))
                                 [previous
page>${doc.web}.${doc.name}?text=$query&firstIndex=$searchresults.getPreviousIndex($firstIndex,$itemsPerPage)]
                         #end
                         #if($searchresults.hasNext($firstIndex,$itemsPerPage))
                                 [next
page>${doc.web}.${doc.name}?text=$query&firstIndex=$searchresults.getNextIndex($firstIndex,$itemsPerPage)]
                         #end
                 #end
                 <table width="100%" class="grid" cellSpacing=0
cellpadding="5" border="1">
                 <tr>
                 <th>Result</th>
                 <th width="100">Date</th>
                 <th width="150">Last Author</th>
                 <th width="100">Score</th>
                 </tr>
                 #foreach($result in $results)
                         #if($result.type=='wikipage')
                                 <tr>
                                 #if($xwiki.isVirtual())
                                         <td
align=left>[${result.wiki}:${result.web}.${result.name}]</td>
                                 #else
                                         <td
align=left>[${result.web}.${result.name}]</td>
                                 #end
                                 <td>$xwiki.formatDate($result.date, "d. MMM
yyyy")</td>
                                 <td>$xwiki.getUserName($result.author)</td>
                                 <td>
                                 #set($resval=$result.score*100)
                                 #if($resval>10)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>25)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>50)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>70)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>90)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 ${resval}%
                                 </td>
                                 </tr>
                         #elseif($result.type=='attachment')
                                 <tr>
                                 <td align=left> ${result.url}
/xwiki/skins/lgs/disk.png
 ${result.filename} \\
                                 Attachment of [${result.web}.${result.name}]</td>
                                 <td>$xwiki.formatDate($result.date, "d. MMM
yyyy")</td>
                                 <td>$xwiki.getUserName($result.author)</td>
                                 <td>
                                 #set($resval=$result.score*100)
                                 #if($resval>10)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>25)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>50)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>70)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 #if($resval>90)
                                          /xwiki/skins/lgs/16-star-hot.png
                                 #end
                                 ${resval}%
                                 </td>
                                 </tr>
                         #end
                         </tr>
                 #end
                 #else
                         $msg.get("noresults")
                 #end
                 </table>
                 \\
         #else
                 lucene plugin not found
         #end
 #end
 --
 View this message in context:
http://www.nabble.com/Costumized-Lucene-Search-Page-tf3605463.html#a10073014
 Sent from the XWiki- Dev mailing list archive at 
Nabble.com.
 --
 You receive this message as a subscriber of the xwiki-dev(a)objectweb.org mailing list.
 To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
 For general help: mailto:sympa@objectweb.org?subject=help
 ObjectWeb mailing lists service home page: 
http://www.objectweb.org/wws