hello all
Let me first explain the task i am trying to do.
i have article with title for example
<doc>
<str name="title">>Car Insurance for Teenage Drivers</str>
</doc>
−
<doc>
<str name="title">A Total Loss? </str>
</doc>
If a user begins to type car insu i want the autopop to show up with the
entire phrase.
There are two ways to implement this.
First is to use the termcomponent and the other is to use a field with field
type which uses solr.EdgeNGramFilterFactor filter.

I started with using with Term component and i declared a term request
handler and gave the following query

http://localhost:8080/solr/terms?terms.fl=title&terms.prefix=car
The issue is that its not giving the entire pharse, it gives me back results
like car, caravan, carbon. Now  i know using terms.prefix will only give me
results where the sentence start with car. On top of this i also want if
there is word like car somewhere in between the title that should also show
up in autopop very much similar like google where a word is not necessarily
start at the beginning but it could be present anywhere in the middle of the
title.
The question is does TermComponent is a good candidate or  using a custom
field lets the name is autoPopupText with field type configured with all
filter and EdgeNGramFilterFactor defined and copying the title to the
autoPopupText field and using it to power autopopup.

The other thing is that using  EdgeNGramFilterFactor is more from index
point of view when you index document you need to know which fields you want
to copy to autoPopupText field where as using Term component is more like
you can define at query time what fields you want to use to fetch
autocomplete from.

Any idea whats the best and why the Term component is not giving me an
entire phrase which i mentioned earlier.
FYI
my title field is of type text.
Thanks
darniz

-- 
View this message in context: 
http://old.nabble.com/Implementing-phrase-autopop-up-tp26490419p26490419.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to