我需要将我的 SOLR 索引分成两半。事实证明,我已经有一个 STRING 字段,它代表我需要的分区信息。意思是,要搜索的一种记录是字符串字段存在于记录中并包含值的地方,另一种是不包含值的地方。所有查询都必须指定要搜索的分区。现在,使用否定字段查询搜索该字段对我来说会更快吗,-strFld:[* TO *]
或者创建一个新的布尔字段对我来说会更好/更快,称之为“hasStrFld”,然后搜索?因此,当 strFld 不存在时,hasStrFld 为假。同样,当 StrFld 中有数据时,hasStrFld 为真。
其他注意事项:将来索引可能被划分为第三个分区的可能性非常低,这使得布尔不合适和否定查询不合适,并考虑使用枚举值的字段。但是,这种可能性非常低,今天的快速性能比明天的可扩展性要重要得多。