Hi, I am implementing searching using SOLR 5.0 and facing very strange problem. I am having 4 fields Name and address, city and state in the document apart from a unique ID.
My requirement is that it should give me those results first where there is a match in name , then address, then state, city Scenerio 1 : When searching *louis* My query params is something like below q: person_full_name:*louis* OR address1:*louis* OR city:*louis* OR state_code:*louis* qf: person_full_name^5.0 address1^0.8 city^0.7 state_code^1.0 defType: edismax This is not giving results as per boost mentioned in qf param. This is giving me result where city is getting matched first. Score is coming as below: "explain": { "11470307": "\n1.4429675E-4 = (MATCH) sum of:\n 1.4429675E-4 = (MATCH) product of:\n 0.0015872642 = (MATCH) sum of:\n 0.0015872642 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.0015872642 = queryNorm\n 0.09090909 = coord(1/11)\n", "11470282": "\n1.4429675E-4 = (MATCH) sum of:\n 1.4429675E-4 = (MATCH) product of:\n 0.0015872642 = (MATCH) sum of:\n 0.0015872642 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.0015872642 = queryNorm\n 0.09090909 = coord(1/11)\n", "11470291": "\n1.4429675E-4 = (MATCH) sum of:\n 1.4429675E-4 = (MATCH) product of:\n 0.0015872642 = (MATCH) sum of:\n 0.0015872642 = (MATCH) ConstantScore(city:*louis*), product of:\n 1.0 = boost\n 0.0015872642 = queryNorm\n 0.09090909 = coord(1/11)\n", "11470261": "\n1.4429675E-4 = (MATCH) sum of:\n 1.4429675E-4 = (MATCH) product of:\n 0.0015872642 = (MATCH) sum of:\n 0.0015872642 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.0015872642 = queryNorm\n 0.09090909 = coord(1/11)\n", "11470328": "\n1.4429675E-4 = (MATCH) sum of:\n 1.4429675E-4 = (MATCH) product of:\n 0.0015872642 = (MATCH) sum of:\n 0.0015872642 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.0015872642 = queryNorm\n 0.09090909 = coord(1/11)\n", "11470331": "\n1.4429675E-4 = (MATCH) sum of:\n 1.4429675E-4 = (MATCH) product of:\n 0.0015872642 = (MATCH) sum of:\n 0.0015872642 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.0015872642 = queryNorm\n 0.09090909 = coord(1/11)\n" }, Scenerio 2: But when I am matching 2 keywords. *louis cen* "explain": { "11470286": "\n0.9805807 = (MATCH) product of:\n 1.9611614 = (MATCH) sum of:\n 0.49029034 = (MATCH) max of:\n 0.49029034 = (MATCH) ConstantScore(person_full_name:*cen*^5.0)^5.0, product of:\n 5.0 = boost\n 0.09805807 = queryNorm\n 0.49029034 = (MATCH) max of:\n 0.49029034 = (MATCH) ConstantScore(person_full_name:*cen*^5.0)^5.0, product of:\n 5.0 = boost\n 0.09805807 = queryNorm\n 0.49029034 = (MATCH) max of:\n 0.49029034 = (MATCH) ConstantScore(person_full_name:*cen*^5.0)^5.0, product of:\n 5.0 = boost\n 0.09805807 = queryNorm\n 0.49029034 = (MATCH) max of:\n 0.49029034 = (MATCH) ConstantScore(person_full_name:*cen*^5.0)^5.0, product of:\n 5.0 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11470284": "\n0.15689291 = (MATCH) product of:\n 0.31378582 = (MATCH) sum of:\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11470232": "\n0.15689291 = (MATCH) product of:\n 0.31378582 = (MATCH) sum of:\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11469707": "\n0.15689291 = (MATCH) product of:\n 0.31378582 = (MATCH) sum of:\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11470341": "\n0.15689291 = (MATCH) product of:\n 0.31378582 = (MATCH) sum of:\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11470349": "\n0.15689291 = (MATCH) product of:\n 0.31378582 = (MATCH) sum of:\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.078446455 = (MATCH) max of:\n 0.078446455 = (MATCH) ConstantScore(address1:*cen*^0.8)^0.8, product of:\n 0.8 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11470250": "\n0.11766969 = (MATCH) product of:\n 0.23533937 = (MATCH) sum of:\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11469726": "\n0.11766969 = (MATCH) product of:\n 0.23533937 = (MATCH) sum of:\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.058834843 = (MATCH) max of:\n 0.058834843 = (MATCH) ConstantScore(specialization:*cen*^0.6)^0.6, product of:\n 0.6 = boost\n 0.09805807 = queryNorm\n 0.5 = coord(4/8)\n", "11470307": "\n0.012257258 = (MATCH) product of:\n 0.09805807 = (MATCH) sum of:\n 0.09805807 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.09805807 = queryNorm\n 0.125 = coord(1/8)\n", "11470282": "\n0.012257258 = (MATCH) product of:\n 0.09805807 = (MATCH) sum of:\n 0.09805807 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.09805807 = queryNorm\n 0.125 = coord(1/8)\n", "11470291": "\n0.012257258 = (MATCH) product of:\n 0.09805807 = (MATCH) sum of:\n 0.09805807 = (MATCH) ConstantScore(city:*louis*), product of:\n 1.0 = boost\n 0.09805807 = queryNorm\n 0.125 = coord(1/8)\n", "11470261": "\n0.012257258 = (MATCH) product of:\n 0.09805807 = (MATCH) sum of:\n 0.09805807 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.09805807 = queryNorm\n 0.125 = coord(1/8)\n", "11470328": "\n0.012257258 = (MATCH) product of:\n 0.09805807 = (MATCH) sum of:\n 0.09805807 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.09805807 = queryNorm\n 0.125 = coord(1/8)\n", "11470331": "\n0.012257258 = (MATCH) product of:\n 0.09805807 = (MATCH) sum of:\n 0.09805807 = (MATCH) ConstantScore(person_full_name:*louis*), product of:\n 1.0 = boost\n 0.09805807 = queryNorm\n 0.125 = coord(1/8)\n" }, SO THE ISSUE IS THAT SOMETIMES IT IS TAKING FILTER BUT NOT ALWAYS. What could be the reason. Here is tokenizer and fileter I am using: <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> Any help on this would be appriciable. Thanks, Sandeep