Hello, This has probably been put forth on the list before, but how about the following approach for leftmost wildcard searches, at least for single term searches?
Reverse the character order of all words after they're stemmed and before they're added to a special reverse-character-order index. Any time a wildcard was found at the beginning of the search term the special index would be engaged. Then a search for "*bar" would be converted to a search for "rab*" on the RCO index, and the search would find "raboof", and this result would then be unreversed upon display to yield: "foobar". Rene's special index could be several times larger in entry count, depending on the average length of the contained terms. A reverse-character-order index is the same size as its regular counterpart. Cheers, John -----Original Message----- From: Hackl, Rene [mailto:[EMAIL PROTECTED] Sent: Wednesday, November 12, 2003 6:34 AM To: 'Lucene Users List' Subject: Re: Can use Lucene be used for this >> col2 like %aa% > Lucene doesn't handle queries where the start of the term is not known > very efficiently. Is it really able to handle them at all? I thought "*foo"-type queries were not supported. That's because I build two indexes for the purpose of simultaneous left and right truncation. One "normal" index and another special one, which takes tokens and breaks them down, for instance "foobar" would be indexed also as "oobar" and "obar". For a query "*oba*" the left wildcard would cause the special index to be searched for "oba*", not left truncated queries would search the normal index. The special index is created with maxFieldLength = 100000 build-time specialIndex vs. normalIndex: +60% index size specialIndex vs. normalIndex: +240% index size specialIndex vs. originalDocSize: +60% Query execution is still very fast on a 3GB specialIndex. I guess the usability depends on how large your document collection is and what kind of search functionality you need. The drawbacks of this approach are that proximity and phrase searches on the special index are busted. Would it make sense to prevent creating the prx-file to reduce index size when not offering that kind of search anyway? Is it possible at all? Best regards, René --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]