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
>
>

Reply via email to