Hi, thank you for the suggestions. However, I think that this is not going to work.
Suppose I have a product with a title='kMix Espresso maker'. If I tokenize this and put the result in product_tokens I should get '[kMix][Espresso][maker]'. If now I try to search with facet.field='product_tokens' and facet.prefix='espresso' I should get only 'espresso' while I want 'kMix Espresso maker'. Is that correct ? Cheers, Ugo. On Wed, Jul 25, 2012 at 3:11 PM, Chantal Ackermann < c.ackerm...@it-agenten.com> wrote: > Hi Ugo, > > You can use facet.prefix on a tokenized field instead of a String field. > > Example: > <field name="product" type="string" … /> > <field name="product_tokens" type="text_split" … /><!-- use e.g. > WhitespaceTokenizer or WordDelimiter and others, see example schema.xml > that comes with SOLR --> > > facet.prefix on "product" will only return hits that match the start of > the single token stored in that field. > As "product_tokens" contains the value of "product" tokenized in a fashion > that suites you, it can contain multiple tokens. facet.prefix on > "product_tokens" will return hits that match *any* of these tokens - which > is what you want. > > Chantal > > Am 25.07.2012 um 15:29 schrieb Ugo Matrangolo: > > > Hi, > > > > I'm working on making our autocomplete engine a bit more smart. > > > > The actual impl is a basic facet based autocompletion as described in the > > 'SOLR 3 Enterprise Search' book: we use all the typed tokens except the > > last one to build a facet.prefix query on an autocomplete facet field we > > built at index time. > > > > This allows us to have something like: > > > > 'espress' --> '*espress*o machine', '*espress*o maker', etc > > > > We want something like: > > > > 'espress' -> '*espress*o machine', '*espress*o maker', 'kMix *espress*o > > maker' > > > > Note that the last suggested term could be not obtained by quering on the > > facet prefix as we do now. What we need is a way to find the 'espress' > > string in the middle of the name/description of our products. > > > > Any suggestions ? > > > > Cheers, > > Ugo > >