Is there a way to use a proximity operator (like near or within) with Lucene?
There is a variable called slop in PhraseQuery that allows you to perform NEAR/WITHIN-like queries. By default, slop is set to 0 so that only exact phrases will match. However, you can alter the value using the setSlop(int) method. When using QueryParser you can use this syntax to specify the slop: “doug cutting”~2 will find documents that contain “doug cutting” as well as ones that contain “cutting doug”.