如果一个字段适合任何一个,我应该在Solr模式中选择整数还是字符串?
假设我在Solr模式中有一个字段,其值为1、2、3或4。我在这方面不做算术。该字段是记录的状态。它也可以是A、B、C或D。11000000条记录中的每一条都有一种状态 在回答中,Int是“更高效的内存”,所以这是一个开始。还有其他因素需要考虑吗?一个比另一个快吗如果一个字段适合任何一个,我应该在Solr模式中选择整数还是字符串?,solr,lucene,Solr,Lucene,假设我在Solr模式中有一个字段,其值为1、2、3或4。我在这方面不做算术。该字段是记录的状态。它也可以是A、B、C或D。11000000条记录中的每一条都有一种状态 在回答中,Int是“更高效的内存”,所以这是一个开始。还有其他因素需要考虑吗?一个比另一个快吗 此字段将不进行排序。这些值是任意的,我们永远不会进行排序。它只用于过滤查询。你会查询某个范围吗?所以,如果你的1…4真的在标记从“说坏”到“伟大”的状态,你会查询1-2的记录吗?这是唯一一件你可能需要它们成为整数的事情(而且,因为你只有
此字段将不进行排序。这些值是任意的,我们永远不会进行排序。它只用于过滤查询。你会查询某个范围吗?所以,如果你的1…4真的在标记从“说坏”到“伟大”的状态,你会查询1-2的记录吗?这是唯一一件你可能需要它们成为整数的事情(而且,因为你只有4个,这没什么大不了的)
我在数据存储方面的规则是,如果int永远不会用作int,则将其存储为字符串。它可能需要更多的空间等。但您可以进行更多的字符串操作等。11m记录的内存要求可能与一个字段是字符串还是int无关(11m是很多记录,但对于Solr/Lucene来说不是很重的负载)。只有4个不同的值,int和string对过滤器查询的执行非常相似,排序和偶数范围查询