Hi Erick, Please ignore my earlier mail. I got it worked ! I missed the rule attribute.
<tokenizer class="solr.WhitespaceTokenizerFactory" *rule="java" */> Now it is working. Thanks, Karan On 10 November 2017 at 15:59, Karan Saini <maximus...@gmail.com> wrote: > Hi Erick, > > Thanks for the help. It is working fine with the *KeywordTokenizerFactory. > *Like you mentioned, i want to search for "dog" or "*dog*" alone also. > Case sensitivity is working fine, but i want to have the wild based search > also. > > So I tried this changed code, but no luck !! > > <fieldType name="NameLine1" class="solr.TextField" > sortMissingLast="true"> > <analyzer> > <!--<tokenizer class="solr.KeywordTokenizerFactory"/>--> > <tokenizer class="solr.*WhitespaceTokenizerFactory*" /> > <filter class="solr.LowerCaseFilterFactory"/> > </analyzer> > </fieldType> > > Please suggest, where am i making the mistake. > > Kind regards, > Karan > > > > On 9 November 2017 at 21:05, Erick Erickson <erickerick...@gmail.com> > wrote: > >> This won't quite work. "string" types are totally un-analyzed you >> cannot add filters to a solr.StrField, you must use solr.TextField >> rather than solr.StrField. >> >> >> <fieldType name="string" class="solr.TextField" sortMissingLast="true" >> docValues="true"/> >> <analyzer> >> <tokenizer class="solr.KeywordTokenizerFactory"/> >> <filter class="solr.LowerCaseFilterFactory"/> >> </analyzer> >> </fieldType> >> >> >> start over and re-index from scratch in a new collection of course. >> >> You also need to make sure you really want to search on the whole >> field. The KeywordTokenizerFactory doesn't split the incoming test up >> _at all_. So if the input is >> "my dog has fleas" you can't search for just "dog" unless you use the >> extremely inefficient *dog* form. If you want to search for words, use >> an tokenizer that breaks up the input, WhitespaceTokenizer for >> instance. >> >> Best, >> Erick >> >> On Thu, Nov 9, 2017 at 3:24 AM, Amrit Sarkar <sarkaramr...@gmail.com> >> wrote: >> > Behavior of the field values is defined by fieldType analyzer >> declaration. >> > >> > If you look at the managed-schema; >> > >> > You will find fieldType declarations like: >> > >> > <fieldType name="text_en" class="solr.TextField" >> positionIncrementGap="100"> >> >> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerF >> actory"/> >> >> <filter class="solr.StopFilterFactory" words="lang/stopwords_en.txt" >> >> ignoreCase="true"/> <filter class="solr.LowerCaseFilterFactory"/> >> <filter >> >> class="solr.EnglishPossessiveFilterFactory"/> <filter class= >> >> "solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter >> >> class="solr.PorterStemFilterFactory"/> </analyzer> <analyzer >> type="query"> >> >> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class= >> >> "solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" >> synonyms= >> >> "synonyms.txt"/> <filter class="solr.StopFilterFactory" words= >> >> "lang/stopwords_en.txt" ignoreCase="true"/> <filter class= >> >> "solr.LowerCaseFilterFactory"/> <filter class= >> >> "solr.EnglishPossessiveFilterFactory"/> <filter class= >> >> "solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter >> >> class="solr.PorterStemFilterFactory"/> </analyzer> </fieldType> >> > >> > >> > In you case fieldType is "string". *You need to write analyzer chain for >> > the same fieldType and don't include:* >> > <filter class="solr.LowerCaseFilterFactory"/> >> > >> > LowerCaseFilterFactory is responsible lowercase the token coming in >> query >> > and while indexing. >> > >> > Something like this will work for you: >> > >> > <fieldType name="string" class="solr.StrField" sortMissingLast="true" >> > docValues="true"/> >> > <analyzer> <tokenizer class="solr.KeywordTokenizerFactory"/> >> </analyzer> </ >> > fieldType> >> > >> > I listed "KeywordTokenizerFactory" considering this is string, not text. >> > >> > More details on: https://lucene.apache.org/solr >> /guide/6_6/analyzers.html >> > >> > Amrit Sarkar >> > Search Engineer >> > Lucidworks, Inc. >> > 415-589-9269 >> > www.lucidworks.com >> > Twitter http://twitter.com/lucidworks >> > LinkedIn: https://www.linkedin.com/in/sarkaramrit2 >> > Medium: https://medium.com/@sarkaramrit2 >> > >> > On Thu, Nov 9, 2017 at 4:41 PM, Karan Saini <maximus...@gmail.com> >> wrote: >> > >> >> Hi guys, >> >> >> >> Solr version :: 6.6.1 >> >> >> >> *<field name="NameLine1" type="string" indexed="true" stored="true" />* >> >> >> >> I have around 10 fields in my core. I want to make the search on this >> >> specific field to be case sensitive. Please advise, how to introduce >> case >> >> sensitivity at the field level. What changes do i need to make for this >> >> field ? >> >> >> >> Thanks, >> >> Karan >> >> >> > >