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 >