包含字符链的字符串中的 Solr 范围搜索

Solr rangesearch within strings containing chains of characters

希望能找到一些帮助。我是 solr 的新手,有机会参与讨论它。 对于下面的场景连主持谈话的顾问都不确定,所以我希望有人有同样的问题。

我有一个由特定键标识的对象列表。例如目的: 有 500000 名员工由 id (1-500000) 标识。这些人中的每个人都必须在未来 2 年内工作。这些年份的每一天都由一个字符标识(员工将工作 - "A",员工将不工作 - "B")。所以每个员工都得到一个包含最多730个字符的字符串,但并不是每个员工都有完整的730个字符(特定员工后来加入公司或其他)。

员工 256 的示例字符串:

AABBAAABAAAABBAB

=> 员工 256 将工作 2 天,1 天他不工作,然后他将连续工作 3 天,1 天空闲时间,4 天工作,2 天不工作,1 天工作,1日家等等。

员工 542 的示例字符串:

ABBAABABAAABAAAABABBAABAAAAABBABBABABBBABAABABBABABABBABAAAA

员工 2 的示例字符串:

AAAABABBABABAAAABABABABABA

出于配置目的,我现在想让连续工作 4 天的员工与他们共进晚餐或进行其他活动。

我想收到以下结果:

employee 256 4 days free after day 8
employee 542 4 days free after day 12, after day 23, after day 56
employee   2 4 days free after day 0, after day 12

希望您能解决我的问题。例子只是为了更好的想象。是否可以用 solr 实现解决方案? 非常欢迎其他解决方案方法(也适用于当天的表示)。现在我们依赖于每日表示(每天都有一个字符)。但如果你给我一个高性能的解决方案,即使这是可以讨论的。条目数量 (500000) 对于项目来说是现实的。

我不会将其建模为员工,而是建模为可用性。也许可用性作为员工的 nested/child 对象。然后可用性对象将是 StartDay,NumberOfDays.

查询然后变成一个更简单的连接,条件是子节点为 NumberOfDays>=4。