Playframework + Lucene:如何搜索部分单词?

时间:2012-01-05 04:55:33

标签: lucene playframework

我正在尝试在我的应用程序中启用部分单词搜索。我想要发生的是,如果有人搜索说框架并且索引列将“playframework”作为其中一个项目,那么它应该被检测为命中。

以下是我的尝试:

play.modules.search.Query q = Search.search(“index:*”+ JavaExtensions.noAccents(by).toLowerCase()+“*”,Location.class);

但是我收到一个错误: 无法解析'index:* framework *:'*'或'?'不允许作为WildcardQuery中的第一个字符

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您似乎需要执行fuzzy search。在您的情况下,以下代码应该满足您的需求:

play.modules.search.Query q = 
  Search.search("yourFieldInLocationClass:" + queryString + "~", Location.class);