Thanks Zhixiang. Yes, it cant find when there is an unrelated term in the 
middle that is not indexed.

Similar to what You suggested:
i can try the queryText by excluding one term at a time with the 
ComplexPhraseQueryParser and see best matches.
 But, i'd rather this is embedded into a Lucene api.

My question is asking also whether ComplexPhraseQueryParser has a way to 
support partial phrase match capability? 

Elastic Search has this capability with a percentage indication. 

i am surprised Lucene Core does not have this, i hope i am wrong.

Best regards


> On Jan 29, 2020, at 7:02 PM, 陈志祥 <zhixiang....@alibaba-inc.com> wrote:
> 
> the standard phrasequery cannot do this, but you can prefilter the invalid 
> term(abcd) out by using MultiTerms api.
> 
> Also, I have found that “a b c”~2 phrase query does not really match “a x x b 
> x x c” by its implementation……
> 
> 
> 
> 
> 
> 
> 
> 陈志祥
> 阿里巴巴 地图引擎核心算法工程师
> 电话:057128223456-81124100
> 邮箱:zhixiang....@alibaba-inc.com
> 地址:上海-长宁-申通信息广场
>  
>               阿里巴巴    企业主页             
> 信息安全声明:本邮件包含信息归发件人所在组织所有,发件人所在组织对该邮件拥有所有权利。
> 请接收者注意保密,未经发件人书面许可,不得向任何第三方组织和个人透露本邮件所含信息的全部或部分。以上声明仅适用于工作邮件。
> Information Security Notice: The information contained in this mail is solely 
> property of the sender's organization. 
> This mail communication is confidential. Recipients named above are obligated 
> to maintain secrecy and are not permitted to disclose the contents of this 
> communication to others.
> ------------------------------------------------------------------
> 发件人:<baris.ka...@oracle.com>
> 日 期:2020年01月30日 05:02:50
> 收件人:java-user@lucene.apache.org<java-user@lucene.apache.org>
> 抄 送:baris.kazar<baris.ka...@oracle.com>
> 主 题:ComplexPhraseQueryParser class question
> 
> Hi,-
> 
>   I hope everyone is doing great.
> 
> 
> i have a question regarrding ComplexPhraseQueryParser class.
> 
> This class can handle this queryText case very well:
> 
> 
> "term1 erm2 abcd term3*"~2
> 
> (last term3 has * at the end and the whole phrase has slop value 2)
> 
> 
> The term1, term2 and term3 are all in the Lucene index but abcd is not.
> 
> In other words there is no "term1 term2 abcd term3" in the Lucene index
> 
> but i still would like to find the following in my results:
> 
> "term1 term2 term3" despite having abcd term there.
> 
> How can i achieve this?
> 
> 
> i setInOrder as true setPhraseSlop as 2 for the ComplexPhraseQueryParser.
> 
> 
> Best regards
> 
> baris
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to