我需要将我的SOLR索引分成两半。事实证明,我已经有一个STRING字段,代表我需要的分区信息。意思是,将要搜索的一种记录是字符串字段存在于记录中并包含值的位置,另一种是不包含值的位置。所有查询都必须指定要搜索的分区。现在使用负字段查询(例如-strFld:[* TO *]
)搜索该字段会更快或者我创建一个新的布尔字段会更好/更快,称之为“hasStrFld”,并搜索该字段?因此,当strFld不存在时,hasStrFld为false。同样,当StrFld中有数据时,hasStrFld为真。
其他注意事项:将来索引可能被划分为第三个分区的可能性非常低,使得布尔值不合适且负面查询不合适,并且将具有枚举值的字段作为考虑因素。然而,可能性相当低,今天的快速性能比明天的可扩展性要大得多。
答案 0 :(得分:3)
我认为在实践中我可能会考虑在决定之前运行一些测试,但是,如果没有它们,我很可能会使用STRING字段。
速度我会尝试:
希望这有帮助。