You probably can override AnalyzingInfixSuggester.finishQuery(Builder,
boolean) where you can rip clauses from builder and change TermQueries/
PrefixQuery to FuzzyQueries. Let me know how it works, please.

On Mon, Sep 4, 2017 at 2:27 PM, Niraj Aswani <nirajasw...@gmail.com> wrote:

> Hi Mikhali,
>
> Thank you very much for your quick response.
>
> This does seem to fix the issue of unordered words in the autocomplete,
> however, then I loose the capability of matching misspelled words.
>
> Is there anything that can be done to combine the functionality of the two?
>
> Regards,
> Niraj
>
>
>
> On Mon, Sep 4, 2017 at 11:13 AM, Mikhail Khludnev <m...@apache.org> wrote:
>
> > The first question is, "sourceLocation">test.dict</str> makes sense?
> > Then, for me, it looks like a case for AnalyzingInfixLookupFactory
> > https://lucidworks.com/2015/03/04/solr-suggester/ rather than
> >
> >    - The FuzzyLookupFactory that creates suggestions for misspelled words
> >    in fields.
> >
> >
> >
> >
> > On Mon, Sep 4, 2017 at 11:57 AM, Niraj Aswani <nirajasw...@gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > I am using solr 5.5.4.
> > >
> > > I would like to perform an unordered autocomplete search however it
> seems
> > > that it only suggests phrases that start with my term in the query.
> > >
> > > For example, in my dictionary I have,
> > >
> > > *lamp desk*
> > >
> > > When searching for the term "lamp", it is able to show the the
> suggestion
> > > "lamp desk" as the suggestion is starting with the word "lamp".
> However,
> > > when I search for the term "desk", it doesn't show any suggestion.
> > >
> > > My field in the *managed-schema* is as below:
> > >
> > > <fieldType name="suggest_field" class="solr.TextField"
> > > positionIncrementGap="100">
> > >   <analyzer type="index">
> > >     <tokenizer class="solr.StandardTokenizerFactory" />
> > >     <filter class="solr.EdgeNGramFilterFactory" maxGramSize="100"/>
> > >   </analyzer>
> > >   <analyzer type="query">
> > >     <tokenizer class="solr.StandardTokenizerFactory" />
> > >   </analyzer>
> > > </fieldType>
> > >
> > > My controller in *solconfig.xml* is defined as the following:
> > >
> > > <!-- autocomplete suggestions -->
> > > <searchComponent name="suggest" class="solr.SuggestComponent">
> > >   <lst name="suggester">
> > >     <str name="name">default</str>
> > >     <str name="lookupImpl">FuzzyLookupFactory</str>
> > >     <str name="sourceLocation">test.dict</str>
> > >     <str name="suggestAnalyzerFieldType">suggest_field</str>
> > >   </lst>
> > > </searchComponent>
> > >
> > > <requestHandler name="/suggest" class="solr.SearchHandler"
> > startup="lazy">
> > >   <lst name="defaults">
> > >     <str name="suggest">true</str>
> > >     <str name="suggest.count">10</str>
> > >   </lst>
> > >   <arr name="components">
> > >     <str>suggest</str>
> > >   </arr>
> > > </requestHandler>
> > >
> > > The *query* I fire is:
> > >
> > > http://localhost:8983/solr/core1/suggest?q=desk&suggest.build=true
> > >
> > > is there anyway, I can get the above scenario working?
> > >
> > > Many thanks,
> > > Niraj
> > >
> >
> >
> >
> > --
> > Sincerely yours
> > Mikhail Khludnev
> >
>



-- 
Sincerely yours
Mikhail Khludnev

Reply via email to