I solved something similar to this by creating a "stemmer" for part numbers. Variations like "-BN" on the end can be treated as inflections in the part number language, similar to plurals in English.
I used a set of regexes to match and transform, in some cases generating multiple "root" part numbers. With the per-field analyzers in Solr, this would work much better. I'll make another search for the presentation that covers this. It was at our Ultraseek Users Group Meeting in 1999. wunder On 5/31/07 11:46 AM, "Chris Hostetter" <[EMAIL PROTECTED]> wrote: > > : It looks alot like using Solr's standard "WordDelimiterFilter" (see the > : sample schema.xml) does what you need. > > WordDelimiterFilter will only get you so far. it can split the indexed > text of "3555LHP" into tokens "3555" and "LHP"; and the user entered > "D3555" into the tokens "D" and "3555" -- but because those tokens > orriginated as part of a single chunk of input text, the QueryParser will > turn them into a phrase query, which will not match on the single token > "3555" ... the "D" just isn't there. > > I can't think of anyway to achieve what you want "out of the box" i think > you'd need a custom ReuestHandler that uses your own query parser which > uses boolean queries instead of PhraseQueries. > > > : > Keyword Typed In / We want it to find > : > > : > D3555 / 3555LHP > : > D460160-BN / D460160 > : > D460160BN / D460160 > : > Dd454557 / D454557 > : > 84200ORB / 84200 > : > 84200-ORB / 84200 > : > T13420-SCH / T13420 > : > t14240-ss / t14240