Hello. We work on a search application whose main goal is to find persons by name (surname and lastname).
Query text comes from a user-entered text field. Ordering of the text is not defined (lastname-surname, surname-lastname), but some orderings are most important than others. The ranking is : 1 Exact match 2 Inexact match (contains entered words) 3 Inexact phonetic match (contains with Beider-Morse filter French version) In addition, Lastname+surname is prioritized over Surname+lastname. All words entered by user have to match (in exact or inexact way) We have following fields : lastNameE : WordTokenizer, LowerCaseFilter, ASCIIFoldingFilterFactory lastName : StandardTokenizer, LowerCaseFilter, ASCIIFoldingFilterFactory lastNameP : StandardTokenizer, LowerCaseFilter, ASCIIFoldingFilterFactory and BMF surnameE : WordTokenizer, LowerCaseFilter, ASCIIFoldingFilterFactory surname : StandardTokenizer, LowerCaseFilter, ASCIIFoldingFilterFactory surnameP : StandardTokenizer, LowerCaseFilter, ASCIIFoldingFilterFactory and BMF We use Edismax query parser and we assign higher weights to exact fields and lower to inexact fields. However, for the phonetic matches, there are some matches closer to the query text than others. How can we boost these results ? Thanks in advance !