Thank you, Erick. Where can I find more information about the *term* queries and how to solve them? It might come up in the future. Are there blogs, or books, or something? Thanks, Felix
2010/5/6 Erick Erickson <erickerick...@gmail.com> > There's really no connection between NGrams and *. NGrams can be used > to handle hairy wildcard expressions, in particular searching for things > like > *blah* is one potential use of NGrams. > > But your problem is simple to solve without bothering with NGrams, just use > the "begin*" syntax, no special indexing required... > > A bunch of work has been done to make wildcard queries more friendly, but > do note that this is a more complex problem than you might initially think, > so > don't be surprised if you revisit your solution as your project matures... > > HTH > Erick > > On Thu, May 6, 2010 at 8:11 AM, Felix Pendergast > <felixpenderg...@gmail.com>wrote: > > > Hello, > > > > I'm trying to search for partial beginning matches on a big list of > > lastnames. So Wein* should find Weinberg, Weinkamm etc. > > > > I could do this by creating a special field, and adding > > <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" > > maxGramSize="50" preserveOriginal="1"/> > > to its type specification in schema.xml. When I add the line above only > to > > the indexing analyzer and leave it empty for the query analyzer, I can > then > > search by just search special_field:Wein and get the expected results. > > > > Now I see that solr also has a *-syntax. What's the connection between > > EdgeNGramFilterFactory and the *-syntax? > > > > Am I doing things correctly or is there a better, more regular way? > > > > Thanks, > > Felix > > >