Two (hopefuly) easy questions

Hi,

Suppose I have these three ‘models’:

‘ant’, ‘antique’, ‘anterior’

and I search for ‘ant*’ … The problem is that I want the results to be
graded as I listed them (the shortest match first).

I figured that I can do ‘ant^2 OR ant*’ to make ‘ant’ score the highest,
but there is still no difference in the score for the other two. I want
‘antique’ to get better score than ‘anterior’.

I believe this is a natural way for search to work. What is the best way
to achieve it?

Another thing is that I want the query “some text city: paris” to work
like this - some text should be searched in all the fields except the
city field and paris should be searched for only in the city field (that
part works of course). So how could I exclude searching in the city
field for the first part of the query?

Thank you very much!!
David