: You could easily write your own query parser (QParserPlugin, in Solr's : terminology) that internally translates queries like : : q = res_url:url AND res_rank:rank : : into : q = res_ranked_url:"rank url" : : thus hiding the res_ranked_url field from the user/client. : : I'm not sure, but maybe it's possible to utilize the order of values within : the multi-valued field res_url directly in the newly created parser. This
It is possible to use SpanMaskingQuery ... it lets you build a SpanNearQuery that requires a match in one field to be "near" a match in another field (ie: at the same position, or within some amount of slop) so then you could find all docs where "url:A" and "rank:2" both occur at the same position (in a multi-valued field) but SpanQueries don't play nicely with range queries, so you wouldn't be able to find docs where url:A and rank:[* TO 5] at the same position. -Hoss