Query help - return proximity between terms?

I'm interested in returning the minimum "distance" between two terms within an (analyzed) text document. For example, given a sentence of "The quick brown fox jumped over the lazy dog," I'd like to be able to extract (ignoring stop words for simplicity):

min_distance("brown", "fox") => 1
min_distance("brown", "dog") => 6

From what I've been able to find, the most straightforward way to do this would be to store the term_vector positions, find the positions for the terms I'm interested in, and then compute the smallest positional distance between them.

Is there a more clever, direct way to go about it? Is there some way to use a wide-open span query but have the response include the computed slop between the terms, for example?


This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.