gpt4 book ai didi

java - Lucene 中的正则表达式查询

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:54 24 4
gpt4 key购买 nike

我正在使用 lucene 搜索,我有类似的名称列表

1) CITY OF CAIRO

2) CALICUT OFFICIAL BRANCH

3) CAIRO BRANCH OFFICE

如果用户输入“CO”,则必须输入以“C”开头的名称,第二个单词应以“O”开头,它应返回第一个名称(CITY OF CAIRO)和第二个名称(CALICUT OFFICIAL BRANCH)。第三个名称(CAIRO BRANCH OFFICE)名称不应返回,因为它没有第二个单词以“O”开头。我正在使用 RegexpQuery 查询。它列出了上述所有 3 个错误的名称。

RegexpQuery dynamicRegEx3 = new RegexpQuery(new Term("name", "C.* O.*"));

实现这个目标的方法是什么?

打印的查询是::::name:/C.* O.*/

最佳答案

你的正则表达式是贪婪的,请改用这个:

RegexpQuery dynamicRegEx3 = new RegexpQuery(new Term("name", "C[^ ]* O.*"));

[^ ] 代表任何非空格的字符。

关于java - Lucene 中的正则表达式查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24305215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com