2012-08-23 26 views
3

我们在我们的solr文档集中添加了一个facet字段,它定义了它属于哪个组 - 数据从mysql中出来,我可以选择将整数id(mysql pk)放在solr的facet值中,或者放入方面值中的短名称(mysql varchar(32))。solr facets的整数和字符串值之间是否有任何有意义的性能差异?

使用短名称有一些吸引力,因为我们可以从用户输入(短名称将成为url的一部分)直接到solr查询,而无需前往mysql来查找pk。

然而,在我走这条路线之前,我想知道如果在字符串字段上面对与从性能角度来看面向整型值的显着区别。

回答

2

请勿将文本字段用于分面。你不会得到理想的行为。

SolrFacetingOverview: -

因为小面领域往往指定一举两得, 人类可读的文本和向下钻取查询值,他们经常 从用于搜索和排序字段建立索引是不同的:

  1. 它们通常未标记化到单独的词语
  2. 它们通常没有被映射到下壳体
  3. 通常不会删除人类可读的标点符号(除双引号外)
  4. 通常不需要存储它们,因为存储的值看起来非常像索引值,并且分块机制用于检索值 。

尝试使用字符串字段,它会很好,没有任何开销。

+0

对不起意思字符串不是文字 –

相关问题