30.5 Solr
Apache Solr is a search engine. Spring Boot offers basic auto-configuration for the Solr 5 client library and abstractions on top of it provided by Spring Data Solr. There is a spring-boot-starter-data-solr
‘Starter’ for collecting the dependencies in a convenient way.
30.5.1 Connecting to Solr
You can inject an auto-configured SolrClient
instance as you would any other Spring bean. By default the instance will attempt to connect to a server using [localhost:8983/solr](http://localhost:8983/solr)
:
_@Component_ public class MyBean { private SolrClient solr; _@Autowired_ public MyBean(SolrClient solr) { this.solr = solr; } // ... }
If you add a @Bean
of your own of type SolrClient
it will replace the default.
30.5.2 Spring Data Solr repositories
Spring Data includes repository support for Apache Solr. As with the JPA repositories discussed earlier, the basic principle is that queries are constructed for you automatically based on method names.
In fact, both Spring Data JPA and Spring Data Solr share the same common infrastructure; so you could take the JPA example from earlier and, assuming that City
is now a @SolrDocument
class rather than a JPA @Entity
, it will work in the same way.
Tip | |
---|---|
For complete details of Spring Data Solr, refer to their reference documentation. |