在lucene的search包下面发现一个新的类 MultiPhraseQuery
大致作用,猜测可以实现以下功能:
本来,要实现 "a (b|c|d) e" 这样一个语意的Query ,我猜测需要用 "a b e", "a c e" ,"a d e"三个PhraseQuery
来实现, 现在MultiPhraseQuery实现了这样一个方法
public void add(Term[] terms, int position)
也就是说,可以在原来的PhraseQuery中的任意位置添加更多的term
于是也就可以方便的实现"a (b|c|d) e"这样的查询语意了。
总结: MultiPhraseQuery是个很不错的新功能