在我的场景中,存在具有字符串类型的列“column1”的表,并且column1可以以字符串格式存储具有int,float ..(任何)类型的值 . 我正在使用Solr创建索引 . Solr是否允许使用多种数据类型(如string,int..etc)对单个字段(column1)进行索引?
不,它不能 . Solr需要一个字段作为定义的类型(通过定义的字段或通过动态字段),因为查询和排序对于不同的字段定义不同 . 如果您今天习惯将所有值作为字符串处理,那么您最适合将来使用StrField .
另一种选择是确定索引时字段的列类型,并根据类型将值添加到不同的字段(因为它是数据库中的字符串字段,您必须提供符合预期的启发式字段中不同值的类型) . 例如,通过使用column1_int,column1_string,column1_float,然后索引到正确类型的字段 . 查询时,您将根据输入数据类型或通过适当地按摩数据来查询所有相关字段 .
1 回答
不,它不能 . Solr需要一个字段作为定义的类型(通过定义的字段或通过动态字段),因为查询和排序对于不同的字段定义不同 . 如果您今天习惯将所有值作为字符串处理,那么您最适合将来使用StrField .
另一种选择是确定索引时字段的列类型,并根据类型将值添加到不同的字段(因为它是数据库中的字符串字段,您必须提供符合预期的启发式字段中不同值的类型) . 例如,通过使用column1_int,column1_string,column1_float,然后索引到正确类型的字段 . 查询时,您将根据输入数据类型或通过适当地按摩数据来查询所有相关字段 .