使用 ParserQuery 的 Lucene 邻近搜索

Lucene Proximity Search with ParserQuery

我是 Lucene 的新手(实际上只是学习的第二天)。我想进行邻近搜索,例如 1 距离内的 "hello" 和 "world"。我阅读了 https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Proximity%20Searches 网站,发现我必须做 "hello world"~1。所以,我尝试的是

    QueryParser QP = new QueryParser("text", analyzer);
    Query qry = QP.parse("hello world"~1);

这给了一个错误,所以我做了

    QueryParser QP = new QueryParser("text", analyzer);
    Query qry = QP.parse("hello world~1");

这个没有报错但是没有给出我想要的答案。它返回了一个布尔搜索结果,它只是任何带有 "hello" 和 "world" 的文档 所以,如果我的猜测是正确的,我打印 qry 并得到 text:hello text:world~1 而不是 text:hello word~1

任何人都可以帮助我使用 QueryParser 的邻近搜索代码应该如何显示?

谢谢!

我会试试

Query qry = QP.parse("\"hello world\"~1");