Solr Query is not able to pick up expected documents in result set

267 views Asked by At

I have a Solr document whose fields and values are shown below. enter image description here

and the parsed query which i am trying to Hit to fetch this document is "red tape white casual shoes"-

        parsedquery: "+(DisjunctionMaxQuery((keywords_text_en:casual | (brandName_text_en_mv:casual)^3.0 | (name_text_en:casual)^2.0 | (categoryName_text_en_mv:casual)^4.0)) 
    DisjunctionMaxQuery((Synonym(keywords_text_en:boot keywords_text_en:shoe) | (Synonym(brandName_text_en_mv:boot brandName_text_en_mv:shoe))^3.0 | (Synonym(name_text_en:boot name_text_en:shoe))^2.0 | (Synonym(categoryName_text_en_mv:boot categoryName_text_en_mv:shoe))^4.0)) 
        DisjunctionMaxQuery((keywords_text_en:red | (brandName_text_en_mv:red)^3.0 | (name_text_en:red)^2.0 | (categoryName_text_en_mv:red)^4.0)) DisjunctionMaxQuery((keywords_text_en:tape | (brandName_text_en_mv:tape)^3.0 | (name_text_en:tape)^2.0 | (categoryName_text_en_mv:tape)^4.0)) DisjunctionMaxQuery((keywords_text_en:white | 
    (brandName_text_en_mv:white)^3.0 | (name_text_en:white)^2.0 | (categoryName_text_en_mv:white)^4.0)))~5 DisjunctionMaxQuery(((keywords_text_en:"casual (boot shoe) red tape white"~5)^2.0 | (brandName_text_en_mv:"casual (boot shoe) red tape white"~5)^6.0 | (categoryName_text_en_mv:"casual (boot shoe) red tape white"~5)^8.0 | (name_text_en:"casual (boot shoe) red tape white"~5)^4.0))",

As per my understanding, since the word - "casual" is present in the 'categoryName_text_en_mv' field, and all the other words in other query fields, this query should be able to find this and return in the response.

but the number of documents found is 0. Can someone help me understand what am I missing here?

Thanks in advance!

Edit 1 The interesting thing is when the query is "red tape white shoes", then the expected document is coming in the results. Only when I add 'casual' to the query, it fails. Important observation is that all the other words except causal are present in the single field. I suspect solr is failing to match documents across multiple field

2

There are 2 answers

0
hades512k On BEST ANSWER

I just reindexed that one particular document and it solved the issue for me. looks like the indexing did not happen properly at solr side.

2
Tulsi On

I would suggest you to use the analysis screen . select the field in the drop-down and put the value you are searching in both query and index side to see how it's pipleline is defined .

https://solr.apache.org/guide/6_6/analysis-screen.html