I do it the same but do not use the Dismax query which is a lot too unflexible.
In CurrikiSolr, I have my own QueryComponent which does all sorts of query expansion: - it expands a simple term query to a query for the text in the stemmed variant and in the unstemmed variant with more boost - it pre-parses to make sure that phrase-queries remain phrase queries and thus become unstemmed queries - it converts prefix queries to queries in the unstemmed field only - it uses parameters (used in the "advanced search") to add queries (e.g. only resources with that topic) - it applies some rights protections - it would be the place to expand along the multiple languages if indexing each language in a separate field as I would do it - it applies some application specific "quality boosting" (higher-ranked resources go higher) I find that such a component is kind of best practice because it makes a server that can apply business logic (independently of hackers in the client), and gives me java to perform deep query processing instead of javascript for fragile string processing. I guess I could find a way to extend intelligently, but I have not found it. paul Le 18 mai 2011 à 00:52, Jonathan Rochkind a écrit : > I do it with two fields exactly how you say, but then use dismax to boost the > non-synonom-ed field higher than the synonym-ed field. That is a lot easier > than trying to use a function query, which I'm not sure how to do either. > > On 5/17/2011 6:45 PM, Dmitriy Shvadskiy wrote: >> Hello, >> Is there a way to boost the result that is an exact match as oppose to >> synonym match when using query time synonyms? >> Given the query John Smith and synonyms >> Jonathan,Jonathan,John,Jon,Nat,Nathan >> >> I'd like result containing John Smith to be ranked higher then Jonathan >> Smith. >> My thinking was to do it by defining 2 fields: 1 with query time synonyms >> and 1 without and sort by a function query of a non-synonym field. Is it >> even possible? I can't quite figure out the syntax for this. >> I'm using Solr 3.1. >> >> Thanks, >> Dmitriy >>