database - Lucene 查询语法搜索

标签 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然而答案让我望而却步。

我们将一如既往地感谢您的帮助!

最佳答案

这是分析者的问题。

如果你想搜索精确的词,你应该用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/

相关文章:

php - 如何在开发人员之间使用具有不同数据库配置的 Git?

database - 我应该将图像二进制数据保存到数据库还是将图像保存为文件?

.net - 在 C# 中从 SQLite 中提取的最快方法

php - 如何在没有 WP_Query 'title' 的情况下搜索帖子的 ,'content' &'meta_query' 's' ?

java - lucene索引文件随机崩溃并需要重新索引

database - 一个简单的问题,在多对多关系中,哪个表应该有另一个表的外键

java - 如何获得数组中五个最少重复的元素

php - 使用 Bing.com 和 Bing Search API 的不同结果

elasticsearch - 每次连续显示多次时,如何将具有相同字段值的结果限制为X个文档

parsing - 使用 Lucene Highlighter 和 MultiFieldQueryParser