FunctionQuery для многозначного поля в Solr - PullRequest
0 голосов
/ 22 октября 2018

Я пишу запрос пользовательской функции в поле 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.

Есть идеи, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...