2016-02-26 5 views
0

Я не мог найти ответ на этот вопрос. Я нашел предыдущий подобный вопрос без ответа. Я хотел бы использовать Spring data solr для запросов. Но @Query недостаточно для моих нужд. Как я понял, все, что вы здесь даете, становится параметром q для `select 'обработчика solr.Добавление параметров необработанных запросов через API критериев

В моем случае мне нужно добавить дополнительные параметры, например sfield для пространственного поиска. Если @Query не разрешит его, я готов написать пользовательскую реализацию репозитория путем автоподготовки SolrTemplate, но тогда API Criteria, похоже, не позволяет мне добавить параметр необработанных запросов.

Любая помощь/очки будет принята с благодарностью.

+0

Любая возможная возможность расширения SolrTemplate или QueryParser закрыта, так как большинство этих точек являются окончательными (на мой взгляд, это плохая конструкция для проекта, такого как data solr, где вы не всегда можете реализовать каждая функциональность). Думаю, вам просто нужно будет напрямую использовать код SolrServer и SolrQuery и самостоятельно обрабатывать все подкачки. –

ответ

0

Я работал вокруг этого, создав декоратор QueryParser, который добавляет требуемые параметры в анализируемый запрос solr. QueryParser был зарегистрирован с использованием solrTemplate.registerQueryParser().

Обратите внимание, однако, что мне пришлось сделать очень неприятный взлом, чтобы получить эту работу, поскольку все запросы, отправленные на solrTemplate.queryForPage, завернуты внутренним классом, защищенным статическим пакетом, в QueryBase. Поэтому мой регистрационный код выше должен был быть в пакете org.springframework.data.solr.core

Смежные вопросы