| = Solr JDBC - R |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| |
| R supports accessing JDBC using the https://www.rforge.net/RJDBC/[RJDBC] library. |
| |
| == RJDBC |
| |
| .run.sh |
| [source,bash] |
| ---- |
| #!/usr/bin/env bash |
| |
| # Java must already be installed and R configured with `R CMD javareconf` |
| |
| Rscript -e 'install.packages("RJDBC", dep=TRUE)' |
| Rscript solr_rjdbc.R |
| ---- |
| |
| .solr_rjdbc.R |
| [source,r] |
| ---- |
| # https://www.rforge.net/RJDBC/ |
| |
| library("RJDBC") |
| |
| solrCP <- c(list.files('/opt/solr/dist/solrj-lib', full.names=TRUE), list.files('/opt/solr/dist', pattern='solrj', full.names=TRUE, recursive = TRUE)) |
| |
| drv <- JDBC("org.apache.solr.client.solrj.io.sql.DriverImpl", |
| solrCP, |
| identifier.quote="`") |
| conn <- dbConnect(drv, "jdbc:solr://localhost:9983?collection=test", "user", "pwd") |
| |
| dbGetQuery(conn, "select fielda, fieldb, fieldc, fieldd_s, fielde_i from test limit 10") |
| |
| dbDisconnect(conn) |
| ---- |