Apache Solr - ID字段和字段前缀

时间:2013-11-27 16:03:57

标签: solr

我有关于Apache Solr的以下问题:

a)ID字段必须是唯一的。有格式约束吗?到目前为止,我刚刚使用了MySQL数据库中的ID,我想用Solr进行搜索。

b)我已经读过字段前缀,例如i_fieldname表示整数值。字段前缀能给我带来任何速度提升吗?他们是否可以使用? c)如果ID是整数,我是否应该在ID字段前加上?

1 个答案:

答案 0 :(得分:0)

独特的领域只需要是唯一的。它可以是String,int,float(虽然我不建议,因为浮点数相当不精确)或任何其他不同的值。使用数据库中的ID是一个很好的解决方案,因为它允许您轻松地将数据库中的行与Solr中的文档进行匹配。

字段前缀在这个意义上不是真正的前缀,它们只是动态字段 - 这意味着在索引之前你没有在模式中定义字段结构,你只需要假设用以i_开头的字段名称索引的所有内容都是整数。如果您知道要编入索引的字段,我将继续为每个字段定义字段和行为。您也可以同时执行这两种操作,拥有一些捕获未定义字段的外卡字段,尽管您可能最好为您尝试解决的特定用例定义这些字段。

我不会为唯一字段使用动态字段,但如果您愿意,也可以这样做。但我更喜欢在模式中定义字段,以便您可以进行分析并按字段设置存储/索引。该模式还告诉其他开发人员/ solr管理员更多关于Solr核心的实际结构以及如何使用Solr。

相关问题