在 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然而答案让我望而却步。
我们将一如既往地感谢您的帮助!
最佳答案
这是分析者的问题。
如果你想搜索精确的词,你应该用Field.Index.NOT_ANALYZED
建立地址字段,然后地址“test@email.com”将被分析为“test@email.com”。 com”。
代码如下:
Document doc = new Document();
doc.add(new Field("email", "test@email.com", Field.Store.YES, Field.Index.NOT_ANALYZED));
关于database - Lucene 查询语法搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33069473/