For suffix matches, you copy text the field and in the different type add
string reversal for both index and query portions. So you are doing prefix
matching algorithm but on reversed strings.

I can dig up an example if it is not clear.
On 6 Dec 2015 8:06 am, "Salman Ansari" <salman.rah...@gmail.com> wrote:

> That is right. I am actually looking for phrase prefixes not each term
> prefix within the phrase. That satisfies my requirements. However, my
> additional question was how do I manipulate the filedType to later allow
> for suffix matches as well? or will that be a completely different
> fieldType definition?
>
> Regards,
> Salman
>
>
> On Sun, Dec 6, 2015 at 2:12 PM, Andrea Gazzarini <a.gazzar...@gmail.com>
> wrote:
>
> > Sorry, my damned mobile: "Is that close to what you were looking for?"
> >
> > 2015-12-06 12:07 GMT+01:00 Andrea Gazzarini <a.gazzar...@gmail.com>:
> >
> > > Do you mean "phrase" or "term" prefixes? If you try to put a field
> value
> > > (two or more terms) in the analysis page you will see what the index
> > > analyzer chain (of my example field type) is doing. The whole value is
> > > managed as a single-ngrammed token, so you will get only a phrase
> prefix
> > > search, as in your request.
> > >
> > > If you want to manage also terms prefixes, I would also index another
> > > field (similar to the example you posted); then, the search handler
> with
> > > e(dismax) would have something like this:
> > >
> > >        <str name="qf">
> > >>
> > >     text_suggestion_phrase_prefix_search^b1
> > >     text_suggestion_terms_prefix_search^b2
> > >
> > > </str>
> > >
> > >
> > > b1 and b2 values strictly depend on your search logic.
> > >
> > > Is that close that what you were looking for?
> > >
> > > Best,
> > > Andrea
> > >
> > >
> > >
> > > 2015-12-06 11:53 GMT+01:00 Salman Ansari <salman.rah...@gmail.com>:
> > >
> > >> Thanks a lot Andrea. It did work.
> > >>
> > >> However, just for my understanding, can you please explain more how
> did
> > >> you
> > >> make it work for prefixes. I know you mentioned using another
> Tokenizer
> > >> but
> > >> for example, if I want to tweak it later on to work on suffixes or
> > within
> > >> phrases how should I go about that?
> > >>
> > >> Thanks again for your help.
> > >>
> > >> Regards,
> > >> Salman
> > >>
> > >>
> > >> On Sun, Dec 6, 2015 at 1:24 PM, Andrea Gazzarini <
> a.gazzar...@gmail.com
> > >
> > >> wrote:
> > >>
> > >> > Hi Salman,
> > >> > that's because you're using a StandardTokenizer. Try with something
> > like
> > >> > this (copied, pasted and changed using my phone so probably with a
> lot
> > >> of
> > >> > mistakes ;) but you should be able to get what I mean). BTW I don't
> > >> know if
> > >> > that's the case but I would also put a MappingCharFilterFactory
> > >> >
> > >> >         <fieldType name="text_suggestion" class="solr.TextField"
> > >> > positionIncrementGap="100">
> > >> >             <analyzer type="index">
> > >> > *                <charFilter class="solr.MappingCharFilterFactory"
> > >> > mapping="mapping-FoldToASCII.txt"/>    *
> > >> >                 <tokenizer class="solr.KeywordTokenizerFactory"/>
> > >> >                 <filter class="solr.LowerCaseFilterFactory" />
> > >> >                 <filter class="solr.WordDelimiterFilterFactory"
> > >> > generateWordParts="0" generateNumberParts="0" catenateAll="1"
> > >> > splitOnCaseChange="0" />
> > >> >                 <filter class="solr.EdgeNGramFilterFactory"
> > >> > maxGramSize="20"/>
> > >> >             </analyzer>
> > >> >             <analyzer type="query">
> > >> > *                <charFilter class="solr.MappingCharFilterFactory"
> > >> > mapping="mapping-FoldToASCII.txt"/>*
> > >> >                 <tokenizer class="solr.KeywordTokenizerFactory"/>
> > >> >                 <filter class="solr.LowerCaseFilterFactory" />
> > >> >                 <filter class="solr.WordDelimiterFilterFactory"
> > >> > generateWordParts="0" generateNumberParts="0" catenateAll="1"
> > >> > splitOnCaseChange="0" />
> > >> >             </analyzer>
> > >> >         </fieldType>
> > >> >
> > >> >
> > >> > 2015-12-06 9:36 GMT+01:00 Salman Ansari <salman.rah...@gmail.com>:
> > >> >
> > >> > > Hi,
> > >> > >
> > >> > >
> > >> > >
> > >> > > I have updated my schema.xml as mentioned in the previous posts
> > using
> > >> > >
> > >> > >
> > >> > >
> > >> > > <fieldType name="text_suggestion" class="solr.TextField"
> > >> > > positionIncrementGap="100">
> > >> > >         <analyzer type="index">
> > >> > >             <tokenizer class="solr.StandardTokenizerFactory"/>
> > >> > >             <filter class="solr.LowerCaseFilterFactory"/>
> > >> > >             <filter class="solr.EdgeNGramFilterFactory"
> > >> minGramSize="1"
> > >> > > maxGramSize="20"/>
> > >> > >         </analyzer>
> > >> > >         <analyzer type="query">
> > >> > >             <tokenizer class="solr.StandardTokenizerFactory"/>
> > >> > >             <filter class="solr.LowerCaseFilterFactory"/>
> > >> > >         </analyzer>
> > >> > >     </fieldType>
> > >> > >
> > >> > >
> > >> > >
> > >> > > This does the auto-complete, but it does it at every portion of
> the
> > >> text
> > >> > > (not just at the beginning) (prefix). So searching for "And" in my
> > >> field
> > >> > > for locations returns both of the following documents.
> > >> > >
> > >> > >
> > >> > >
> > >> > > <doc>
> > >> > >
> > >> > > <int name="id">1</int>
> > >> > >
> > >> > > <str name="country_code">AD</str>
> > >> > >
> > >> > > <str name="name_eng">*And*orra</str>
> > >> > >
> > >> > > <str name="name_ar">أندورا</str>
> > >> > >
> > >> > > <long name="_version_">1519794717684924416</long>
> > >> > >
> > >> > > </doc>
> > >> > >
> > >> > > <doc>
> > >> > >
> > >> > > <int name="id">5</int>
> > >> > >
> > >> > > <str name="country_code">AG</str>
> > >> > >
> > >> > > <str name="name_eng">Antigua *and* Barbuda</str>
> > >> > >
> > >> > > <str name="name_ar">أنتيجوا وبربودا</str>
> > >> > >
> > >> > > <long name="_version_">1519794717701701633</long>
> > >> > >
> > >> > > </doc>
> > >> > >
> > >> > >
> > >> > >
> > >> > > I have read about this and at first I thought I need to add
> > >> side="front"
> > >> > > but after adding that, Solr returned an error (when creating a
> > >> > collection)
> > >> > > indicating "Unknown parameters <side="front>". I read again and it
> > >> looks
> > >> > > like that side="front" is the default behavior as here
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >>
> >
> http://stackoverflow.com/questions/28807427/edgengramfilterfactory-change-in-solr5
> > >> > >
> > >> > >
> > >> > > My question is that, how do I enable only prefix auto-complete?
> > >> > >
> > >> > >
> > >> > >
> > >> > > Comments and feedback are appreciated.
> > >> > >
> > >> > >
> > >> > >
> > >> > > Regards,
> > >> > >
> > >> > > Salman
> > >> > >
> > >> > >
> > >> > > On Fri, Dec 4, 2015 at 6:21 PM, Alexandre Rafalovitch <
> > >> > arafa...@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > You can see an example of similar use at:
> > >> > > > http://www.solr-start.com/javadoc/solr-lucene/index.html
> (search
> > >> box).
> > >> > > >
> > >> > > > The corresponding schema is here:
> > >> > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> https://github.com/arafalov/Solr-Javadoc/blob/master/JavadocIndex/JavadocCollection/conf/schema.xml#L24
> > >> > > > . It does have some extra special-case stuff to allow to search
> by
> > >> the
> > >> > > > fragments, but the general use case is the same.
> > >> > > >
> > >> > > > Regards,
> > >> > > >    Alex.
> > >> > > > ----
> > >> > > > Newsletter and resources for Solr beginners and intermediates:
> > >> > > > http://www.solr-start.com/
> > >> > > >
> > >> > > >
> > >> > > > On 4 December 2015 at 10:11, Salman Ansari <
> > salman.rah...@gmail.com
> > >> >
> > >> > > > wrote:
> > >> > > > > Thanks Alan, Alessandaro and Andrea for your great
> > explanations. I
> > >> > will
> > >> > > > > follow the path of adding edge ngrams to the field type for my
> > use
> > >> > > case.
> > >> > > > >
> > >> > > > > Regards,
> > >> > > > > Salman
> > >> > > > >
> > >> > > > > On Thu, Dec 3, 2015 at 12:23 PM, Alessandro Benedetti <
> > >> > > > abenede...@apache.org
> > >> > > > >> wrote:
> > >> > > > >
> > >> > > > >> "Sounds good but I heard "/suggest" component is the
> > recommended
> > >> way
> > >> > > of
> > >> > > > >> doing auto-complete"
> > >> > > > >>
> > >> > > > >> This sounds fantastic :)
> > >> > > > >> We "heard" that as well, we know what the suggest component
> > does.
> > >> > > > >> The point is that you would like to retrieve the suggestions
> +
> > >> some
> > >> > > > >> consistent payload in different fields.
> > >> > > > >> Current suggest component offers some effort in providing a
> > >> payload,
> > >> > > but
> > >> > > > >> almost all the suggester implementation are based on an FST
> > >> approach
> > >> > > > which
> > >> > > > >> aim to be as fast and memory efficient as possible.
> > >> > > > >> Honestly you could experiment and even contribute a
> > >> customisation if
> > >> > > you
> > >> > > > >> want to add a new feature to the suggest component able to
> > return
> > >> > > > complex
> > >> > > > >> payloads together with the suggestions.
> > >> > > > >> Apart that, it strictly depends of how you want to provide
> the
> > >> > > > >> autocompletion, there are plenty of different lookups
> > >> implementation
> > >> > > and
> > >> > > > >> plenty of tokenizer/token filters to combine .
> > >> > > > >> So I would confirm what we already said and that Andrea
> > >> confirmed.
> > >> > > > >>
> > >> > > > >> If anyone has played with the suggester suggestions payload,
> > his
> > >> > > > feedback
> > >> > > > >> is welcome!
> > >> > > > >>
> > >> > > > >> Cheers
> > >> > > > >>
> > >> > > > >>
> > >> > > > >> On 3 December 2015 at 06:21, Andrea Gazzarini <
> > >> > a.gazzar...@gmail.com>
> > >> > > > >> wrote:
> > >> > > > >>
> > >> > > > >> > Hi Salman,
> > >> > > > >> > few months ago I have been involved in a project similar to
> > >> > > > >> > map.geoadmin.ch
> > >> > > > >> > and there, I had your same need (I also sent an email to
> this
> > >> > list).
> > >> > > > >> >
> > >> > > > >> > From my side I can furtherly confirm what Alan and
> Alessandro
> > >> > > already
> > >> > > > >> > explained, I followed that approach.
> > >> > > > >> >
> > >> > > > >> > IMHO, that is the "recommended way" if the component's
> > features
> > >> > meet
> > >> > > > your
> > >> > > > >> > needs (i.e. do not reinvent the wheel) but it seems you're
> > out
> > >> of
> > >> > > > those
> > >> > > > >> > bounds.
> > >> > > > >> >
> > >> > > > >> > Best,
> > >> > > > >> > Andrea
> > >> > > > >> > On 2 Dec 2015 21:51, "Salman Ansari" <
> > salman.rah...@gmail.com>
> > >> > > wrote:
> > >> > > > >> >
> > >> > > > >> > > Sounds good but I heard "/suggest" component is the
> > >> recommended
> > >> > > way
> > >> > > > of
> > >> > > > >> > > doing auto-complete in the new versions of Solr.
> Something
> > >> along
> > >> > > the
> > >> > > > >> > lines
> > >> > > > >> > > of this article
> > >> > > > >> > >
> https://cwiki.apache.org/confluence/display/solr/Suggester
> > >> > > > >> > >
> > >> > > > >> > > <searchComponent name="suggest"
> > >> class="solr.SuggestComponent">
> > >> > > > >> > >   <lst name="suggester">
> > >> > > > >> > >     <str name="name">mySuggester</str>
> > >> > > > >> > >     <str name="lookupImpl">FuzzyLookupFactory</str>
> > >> > > > >> > >     <str
> > >> name="dictionaryImpl">DocumentDictionaryFactory</str>
> > >> > > > >> > >     <str name="field">cat</str>
> > >> > > > >> > >     <str name="weightField">price</str>
> > >> > > > >> > >     <str name="suggestAnalyzerFieldType">string</str>
> > >> > > > >> > >     <str name="buildOnStartup">false</str>
> > >> > > > >> > >   </lst>
> > >> > > > >> > > </searchComponent>
> > >> > > > >> > >
> > >> > > > >> > > Can someone confirm this?
> > >> > > > >> > >
> > >> > > > >> > > Regards,
> > >> > > > >> > > Salman
> > >> > > > >> > >
> > >> > > > >> > >
> > >> > > > >> > > On Wed, Dec 2, 2015 at 1:14 PM, Alessandro Benedetti <
> > >> > > > >> > > abenede...@apache.org>
> > >> > > > >> > > wrote:
> > >> > > > >> > >
> > >> > > > >> > > > Hi Salman,
> > >> > > > >> > > > I agree with Alan.
> > >> > > > >> > > > Just configure your schema with the proper analysers .
> > >> > > > >> > > > For the field you want to use for suggestions you are
> > >> likely
> > >> > to
> > >> > > > need
> > >> > > > >> > > simply
> > >> > > > >> > > > this fieldType :
> > >> > > > >> > > >
> > >> > > > >> > > > <fieldType name="text_suggestion"
> class="solr.TextField"
> > >> > > > >> > > > positionIncrementGap="100">
> > >> > > > >> > > >         <analyzer type="index">
> > >> > > > >> > > >             <tokenizer
> > >> class="solr.StandardTokenizerFactory"/>
> > >> > > > >> > > >             <filter
> class="solr.LowerCaseFilterFactory"/>
> > >> > > > >> > > >             <filter class="solr.EdgeNGramFilterFactory"
> > >> > > > >> minGramSize="1"
> > >> > > > >> > > > maxGramSize="20"/>
> > >> > > > >> > > >         </analyzer>
> > >> > > > >> > > >         <analyzer type="query">
> > >> > > > >> > > >             <tokenizer
> > >> class="solr.StandardTokenizerFactory"/>
> > >> > > > >> > > >             <filter
> class="solr.LowerCaseFilterFactory"/>
> > >> > > > >> > > >         </analyzer>
> > >> > > > >> > > >     </fieldType>
> > >> > > > >> > > >
> > >> > > > >> > > > This is a very sample example, please adapt it to your
> > use
> > >> > case.
> > >> > > > >> > > >
> > >> > > > >> > > > Cheers
> > >> > > > >> > > >
> > >> > > > >> > > > On 2 December 2015 at 09:41, Alan Woodward <
> > >> a...@flax.co.uk>
> > >> > > > wrote:
> > >> > > > >> > > >
> > >> > > > >> > > > > Hi Salman,
> > >> > > > >> > > > >
> > >> > > > >> > > > > It sounds as though you want to do a normal search
> > >> against a
> > >> > > > >> special
> > >> > > > >> > > > > 'suggest' field, that's been indexed with edge
> ngrams.
> > >> > > > >> > > > >
> > >> > > > >> > > > > Alan Woodward
> > >> > > > >> > > > > www.flax.co.uk
> > >> > > > >> > > > >
> > >> > > > >> > > > >
> > >> > > > >> > > > > On 2 Dec 2015, at 09:31, Salman Ansari wrote:
> > >> > > > >> > > > >
> > >> > > > >> > > > > > Hi,
> > >> > > > >> > > > > >
> > >> > > > >> > > > > > I am looking for auto-complete in Solr but on top
> of
> > >> just
> > >> > > auto
> > >> > > > >> > > > complete I
> > >> > > > >> > > > > > want as well to return the data completely (not
> just
> > >> > > > >> suggestions),
> > >> > > > >> > > so I
> > >> > > > >> > > > > > want to get back the ids, and other fields in the
> > whole
> > >> > > > >> document. I
> > >> > > > >> > > > tried
> > >> > > > >> > > > > > the following 2 approaches but each had issues
> > >> > > > >> > > > > >
> > >> > > > >> > > > > > 1) Used the /suggest component but that returns a
> > very
> > >> > > > specific
> > >> > > > >> > > format
> > >> > > > >> > > > > > which looks like I cannot customize. I want to
> return
> > >> the
> > >> > > > whole
> > >> > > > >> > > > document
> > >> > > > >> > > > > > that has a matching field and not only the
> suggestion
> > >> > list.
> > >> > > So
> > >> > > > >> for
> > >> > > > >> > > > > example,
> > >> > > > >> > > > > > if I write "hard" it returns the results in a
> > specific
> > >> > > format
> > >> > > > as
> > >> > > > >> > > > follows
> > >> > > > >> > > > > >
> > >> > > > >> > > > > > <arr name="suggestion">          <str>hard
> > drive</str>
> > >> > > > >> > > > > > <str>hard disk</str>        </arr>
> > >> > > > >> > > > > >
> > >> > > > >> > > > > > Is there a way to get back additional fields with
> > >> > > suggestions?
> > >> > > > >> > > > > >
> > >> > > > >> > > > > > 2) Tried the normal /select component but that does
> > >> not do
> > >> > > > >> > > > auto-complete
> > >> > > > >> > > > > on
> > >> > > > >> > > > > > portion of the word. So, for example, if I write
> the
> > >> query
> > >> > > as
> > >> > > > >> > "bara"
> > >> > > > >> > > it
> > >> > > > >> > > > > > DOES NOT return "barack obama". Any suggestions how
> > to
> > >> > solve
> > >> > > > >> this?
> > >> > > > >> > > > > >
> > >> > > > >> > > > > >
> > >> > > > >> > > > > > Regards,
> > >> > > > >> > > > > > Salman
> > >> > > > >> > > > >
> > >> > > > >> > > > >
> > >> > > > >> > > >
> > >> > > > >> > > >
> > >> > > > >> > > > --
> > >> > > > >> > > > --------------------------
> > >> > > > >> > > >
> > >> > > > >> > > > Benedetti Alessandro
> > >> > > > >> > > > Visiting card : http://about.me/alessandro_benedetti
> > >> > > > >> > > >
> > >> > > > >> > > > "Tyger, tyger burning bright
> > >> > > > >> > > > In the forests of the night,
> > >> > > > >> > > > What immortal hand or eye
> > >> > > > >> > > > Could frame thy fearful symmetry?"
> > >> > > > >> > > >
> > >> > > > >> > > > William Blake - Songs of Experience -1794 England
> > >> > > > >> > > >
> > >> > > > >> > >
> > >> > > > >> >
> > >> > > > >>
> > >> > > > >>
> > >> > > > >>
> > >> > > > >> --
> > >> > > > >> --------------------------
> > >> > > > >>
> > >> > > > >> Benedetti Alessandro
> > >> > > > >> Visiting card : http://about.me/alessandro_benedetti
> > >> > > > >>
> > >> > > > >> "Tyger, tyger burning bright
> > >> > > > >> In the forests of the night,
> > >> > > > >> What immortal hand or eye
> > >> > > > >> Could frame thy fearful symmetry?"
> > >> > > > >>
> > >> > > > >> William Blake - Songs of Experience -1794 England
> > >> > > > >>
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> > >
> >
>

Reply via email to