This should probably be a feature of the analyzing infix suggester. 

Right now, the fuzzy suggester is broken with the file dictionary, so we can’t 
use fuzzy suggestions at all.

wunder
Walter Underwood
wun...@wunderwood.org
http://observer.wunderwood.org/  (my blog)


> On Sep 4, 2017, at 4:50 AM, Mikhail Khludnev <m...@apache.org> wrote:
> 
> 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