I have two documents doc1 and doc2 and each one of those has a field called
phoneName.

doc1:phoneName:"Details about  Apple iPhone 4s - 16GB - White (Verizon)
Smartphone Factory Unlocked"

doc2:phoneName:"Apple iPhone 4S 16GB for Net10, No Contract, White"

Here if I search for
q=iphone+4s+16gb&qf=phoneName&mm=1&pf=phoneName&ps=1&pf2=phoneName&pf3=phoneName&stopwords=true&lowercaseOperators=true

Doc1 and Doc2 both have the same identical score , but since the field
phoneName in the doc2 has shorter length I would expect it to have a higher
score , but both have an identical score of 9.961212.

The phoneName filed is defined as follows.As we can see no where am I
specifying omitNorms=True, still the behavior seems to be that the length
norm is not functioning at all. Can some one let me know whats the issue
here ?

        <field name="phoneName" type="text_en_splitting" indexed="true"
            stored="true" required="true" />
        <fieldType name="text_en_splitting" class="solr.TextField"
            positionIncrementGap="100" autoGeneratePhraseQueries="true">
            <analyzer type="index">
                <tokenizer class="solr.WhitespaceTokenizerFactory" />
                <!-- in this example, we will only use synonyms at query
time <filter
                    class="solr.SynonymFilterFactory"
synonyms="index_synonyms.txt" ignoreCase="true"
                    expand="false"/> -->
                <!-- Case insensitive stop word removal. add
enablePositionIncrements=true
                    in both the index and query analyzers to leave a 'gap'
for more accurate
                    phrase queries. -->
                <filter class="solr.StopFilterFactory" ignoreCase="true"
                    words="lang/stopwords_en.txt"
enablePositionIncrements="true" />
                <filter class="solr.WordDelimiterFilterFactory"
                    generateWordParts="1" generateNumberParts="1"
catenateWords="1"
                    catenateNumbers="1" catenateAll="0"
splitOnCaseChange="1" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.KeywordMarkerFilterFactory"
protected="protwords.txt" />
                <filter class="solr.PorterStemFilterFactory" />
            </analyzer>
            <analyzer type="query">
                <tokenizer class="solr.WhitespaceTokenizerFactory" />
                <filter class="solr.SynonymFilterFactory"
synonyms="synonyms.txt"
                    ignoreCase="true" expand="true" />
                <filter class="solr.StopFilterFactory" ignoreCase="true"
                    words="lang/stopwords_en.txt"
enablePositionIncrements="true" />
                <filter class="solr.WordDelimiterFilterFactory"
                    generateWordParts="1" generateNumberParts="1"
catenateWords="0"
                    catenateNumbers="0" catenateAll="0"
splitOnCaseChange="1" />
                <filter class="solr.LowerCaseFilterFactory" />
                <filter class="solr.KeywordMarkerFilterFactory"
protected="protwords.txt" />
                <filter class="solr.PorterStemFilterFactory" />
            </analyzer>
        </fieldType>

Reply via email to