如何在Solr3.3中实现mod函数
我现在正在使用Solr3.3,在查询中需要使用mod函数,但mod函数直到4.0才存在。所以,我想用其他函数来替换3.3中的mod,比如如何在Solr3.3中实现mod函数,solr,lucene,modulo,Solr,Lucene,Modulo,我现在正在使用Solr3.3,在查询中需要使用mod函数,但mod函数直到4.0才存在。所以,我想用其他函数来替换3.3中的mod,比如 q=subject:mp3&fq={!frange l=1 u=1}sub(id,product(floor(div(id,2)),2)). 但是我发现这个函数不能工作,因为sub(id,product(floor(div(id,2)),2))将 等于id偶数id是奇数。在3.3中,是否有人可以为mod功能提供有效的替代品?谢谢如果您已经编写了一些
q=subject:mp3&fq={!frange l=1 u=1}sub(id,product(floor(div(id,2)),2)).
但是我发现这个函数不能工作,因为sub(id,product(floor(div(id,2)),2))将
等于id偶数id是奇数。在3.3中,是否有人可以为mod功能提供有效的替代品?谢谢如果您已经编写了一些Java,那么它应该很容易实现,只需编写一个
ModFunction
类(参见示例)。然后为它编写一个ValueSourceParser
,它应该如下所示:
public class ModFunctionParser extends ValueSourceParser {
@Override
public ValueSource parse(FunctionQParser fp) throws ParseException {
ValueSource a = fp.parseValueSource();
ValueSource b = fp.parseValueSource();
return new ModFunction(a, b);
}
}
最后