Я пишу запрос пользовательской функции в поле MultiValued (fieldname: multival) в Solr.Ниже приведен код
public class testMultiValValueSourceParser extends ValueSourceParser {
public void init(NamedList namedList) {
}
@Override
public ValueSource parse(FunctionQParser fp) throws SyntaxError {
List<ValueSource> sources = fp.parseValueSourceList();
MultiValueSource mv1 = null;
if (sources.size() == 0) {
throw new Error("No value sources detected");
} else if (sources.size() == 1) {
ValueSource vs = sources.get(0);
if (!(vs instanceof MultiValueSource)) {
throw new SyntaxError("multival - invalid parameters:" + sources);
}
mv1 = (MultiValueSource)vs;
}
String fieldName = "multival";
return (new testMultiValSource(fieldName,mv1,fp));
}
}
Я получаю ниже ошибки при тестировании запроса функции
"msg":"can not use FieldCache on multivalued field: multival",
и ошибка в строке
List<ValueSource> sources = fp.parseValueSourceList();
Я вызываю функциюзапрашивать через пользовательский интерфейс solr в поле «fl» как «test (multival)», где «test» - это имя моего функционального запроса, определенного в конфигурационном файле solr.
Есть идеи, почему это происходит?