solr 查询目标混合大小写字符串

solr query to target mixed case string

我存储了一些格式不正确的电子邮件地址,它们的域中大小写混合,我需要能够提取这些资源以便我可以更正它们。这是修复损坏数据的特例,我需要撤回所有包含大小写混合域的资源。

我还没有关于如何进行此查询的第一条线索,甚至不知道它是否可能。

您可以使用尝试将小写字符与大写字符匹配的正则表达式来执行查询。这将完全取决于地址的存储方式(它将对每个令牌起作用,因此如果链中有 LowercaseFilterFactory,我猜它不会找到任何命中):

# retrieve all those that have a lowercase letter followed by a uppercase letter
q=email:/.*[a-z][A-Z].*/

# retrieve all those that have a uppercase letter followed by a lowercase letter
q=email:/.*[A-Z][a-z].*/

这两个查询之间会有重叠,因此请按顺序处理,以避免重复执行相同的工作。