In certain cases (like one explained in
OAK-2569) it can happen that Lucene index version gets updated in between a cursor traversal. Then the offset used would be wrong and currently the LucenePropertyIndex would run the query without offset which can result in duplicate rows.
As that time we relied on seenPaths for ensuring that duplicate paths would be detected. However a closer look at code flow now indicates that it gets used only for those queries where we do path transformation  and not in all cases.
Also earlier we did used unique cursor but we changed that in
OAK-2754 in favour of seenPaths. So as a fix we should revert that back and use unique cursor there
 search on jcr:conent/@title and actual search done for 'title' and path checked to end with jcr:content