Lucene查询语法搜索

时间:2015-10-11 19:55:59

标签: database search lucene

关于Lucene查询语法的总新手,所以需要一些帮助!

通过电子邮件和

搜索数据库
email: <someone's email here>

在URL中作为搜索参数。

如何实现这一目标,以便只返回具有确切电子邮件地址的记录?

所以,如果我要搜索

email: test@gmail.com

并且数据库包含'test@email.com'和'test@gmail.com',只返回后者?

我已经看过http://www.lucenetutorial.com/lucene-query-syntax.html,但答案清楚了我。

任何帮助都会一如既往地受到赞赏!

1 个答案:

答案 0 :(得分:1)

这是分析仪的问题。

如果要搜索确切的单词,则应使用Field.Index.NOT_ANALYZED构建地址字段,然后将地址“test@email.com”分析为“test@email.com”。

这样的代码:

Document doc = new Document();
doc.add(new Field("email", "test@email.com", Field.Store.YES, Field.Index.NOT_ANALYZED));