我是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查找邻近搜索的代码吗?
谢谢!
答案 0 :(得分:0)
我会尝试
Query qry = QP.parse("\"hello world\"~1");