以下是我的问题陈述。请让我知道如何通过 Lucene 4.3.1 实现这一目标。我确实查看了不同的默认查询,但似乎没有什么能满足我的要求。如果这在 Lucene 中是不可能的,是否有任何其他软件可以帮助我实现这一点。另请注意,我对此有非常严格的周转时间,因此需要快速完成搜索。我正在查看最大大约 10 毫秒
我有一个包含名称列表的文件(格式为“名字”“中间名”“姓氏”),可能在 10K 左右。必须对这些名称进行索引,以便我可以对传入的查询执行搜索。
例如
将被索引的名称列表
- 第一个 M 最后一个
- 第一个 MI 最后一个
- 前 N 拉斯
- 和其他一些名字
案例 1:下面的查询应该从索引返回 First M Last
- 你好,你今天好吗?
- 你好,你今天过得怎么样?
- 你好,你今天怎么样 Lst M First
案例2:下面的查询不应该返回任何东西。请注意,名称之间还有一些其他文本。
- 你好,你好吗?今天先发一些短信 M 发一些短信 最后今天
案例3:我也应该能够进行模糊搜索。下面的查询应该从索引中返回 First M Last 。
- 你好,你好吗 Ferst M Last 今天
- 你好,你今天过得好吗?
- 你好,你今天过得如何 Last M Ferst
我确实尝试过邻近查询,但由于输入非常随机,我无法使用它。