mirror of https://github.com/apache/superset.git
feat(db-engine): Add support for Apache Solr (#12403)
* [db engine] Add support for Apache Solr * Fixing typo
This commit is contained in:
parent
e1eeeebe53
commit
e6a76a58d3
|
@ -533,6 +533,8 @@ Here's a list of some of the recommended packages.
|
||||||
| Apache Pinot | ``"apache-superset[pinot]"`` | ``pinot+http://CONTROLLER:5436/`` |
|
| Apache Pinot | ``"apache-superset[pinot]"`` | ``pinot+http://CONTROLLER:5436/`` |
|
||||||
| | | ``query?server=http://CONTROLLER:5983/`` |
|
| | | ``query?server=http://CONTROLLER:5983/`` |
|
||||||
+------------------+-------------------------------------------------------------------+-------------------------------------------------+
|
+------------------+-------------------------------------------------------------------+-------------------------------------------------+
|
||||||
|
| Apache Solr | ``pip install sqlalchemy-solr`` | ``solr://`` |
|
||||||
|
+------------------+---------------------------------------+-----------------------------------------------------------------------------+
|
||||||
| Apache Spark SQL | ``"apache-superset[hive]"`` | ``jdbc+hive://`` |
|
| Apache Spark SQL | ``"apache-superset[hive]"`` | ``jdbc+hive://`` |
|
||||||
+------------------+-------------------------------------------------------------------+-------------------------------------------------+
|
+------------------+-------------------------------------------------------------------+-------------------------------------------------+
|
||||||
| BigQuery | ``"apache-superset[bigquery]"`` | ``bigquery://`` |
|
| BigQuery | ``"apache-superset[bigquery]"`` | ``bigquery://`` |
|
||||||
|
@ -685,6 +687,13 @@ You should then be able to connect to your BigQuery datasets.
|
||||||
To be able to upload data, e.g. sample data, the python library `pandas_gbq` is required.
|
To be able to upload data, e.g. sample data, the python library `pandas_gbq` is required.
|
||||||
|
|
||||||
|
|
||||||
|
Apache Solr
|
||||||
|
------------
|
||||||
|
|
||||||
|
The connection string for Apache Solr looks like this ::
|
||||||
|
|
||||||
|
solr://{username}:{password}@{host}:{port}/{server_path}/{collection}[/?use_ssl=true|false]
|
||||||
|
|
||||||
Elasticsearch
|
Elasticsearch
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ A list of some of the recommended packages.
|
||||||
|[Apache Impala](/docs/databases/impala)|```pip install impala```|```impala://{hostname}:{port}/{database}```|
|
|[Apache Impala](/docs/databases/impala)|```pip install impala```|```impala://{hostname}:{port}/{database}```|
|
||||||
|[Apache Kylin](/docs/databases/kylin)|```pip install kylinpy```|```kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>```|
|
|[Apache Kylin](/docs/databases/kylin)|```pip install kylinpy```|```kylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>```|
|
||||||
|[Apache Pinot](/docs/databases/pinot)|```pip install pinotdb```|```pinot+http://CONTROLLER:5436/ query?server=http://CONTROLLER:5983/```|
|
|[Apache Pinot](/docs/databases/pinot)|```pip install pinotdb```|```pinot+http://CONTROLLER:5436/ query?server=http://CONTROLLER:5983/```|
|
||||||
|
|[Apache Solr](/docs/databases/solr)|```pip install sqlalchemy-solr```|```solr://{username}:{password}@{hostname}:{port}/{server_path}/{collection}```
|
||||||
|[Apache Spark SQL](/docs/databases/spark)|```pip install pyhive```|```hive://hive@{hostname}:{port}/{database}```
|
|[Apache Spark SQL](/docs/databases/spark)|```pip install pyhive```|```hive://hive@{hostname}:{port}/{database}```
|
||||||
|[Azure MS SQL](/docs/databases/sqlserver)||```mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema```
|
|[Azure MS SQL](/docs/databases/sqlserver)||```mssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema```
|
||||||
|[Big Query](/docs/databases/bigquery)|```pip install pybigquery```|```bigquery://{project_id}```|
|
|[Big Query](/docs/databases/bigquery)|```pip install pybigquery```|```bigquery://{project_id}```|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
name: Apache Solr
|
||||||
|
menu: Connecting to Databases
|
||||||
|
route: /docs/databases/solr
|
||||||
|
index: 10
|
||||||
|
version: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
## Apache Solr
|
||||||
|
|
||||||
|
The [sqlalchemy-solr](https://pypi.org/project/sqlalchemy-solr/) library provides a
|
||||||
|
Python / SQLAlchemy interface to Apache Solr.
|
||||||
|
|
||||||
|
The connection string for Solr looks like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
solr://{username}:{password}@{host}:{port}/{server_path}/{collection}[/?use_ssl=true|false]
|
||||||
|
```
|
|
@ -2,7 +2,7 @@
|
||||||
name: Apache Spark SQL
|
name: Apache Spark SQL
|
||||||
menu: Connecting to Databases
|
menu: Connecting to Databases
|
||||||
route: /docs/databases/spark-sql
|
route: /docs/databases/spark-sql
|
||||||
index: 10
|
index: 11
|
||||||
version: 1
|
version: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
1
setup.py
1
setup.py
|
@ -123,6 +123,7 @@ setup(
|
||||||
"dremio": ["sqlalchemy-dremio>=1.1.5, <1.2"],
|
"dremio": ["sqlalchemy-dremio>=1.1.5, <1.2"],
|
||||||
"drill": ["sqlalchemy-drill==0.1.dev"],
|
"drill": ["sqlalchemy-drill==0.1.dev"],
|
||||||
"druid": ["pydruid>=0.6.1,<0.7"],
|
"druid": ["pydruid>=0.6.1,<0.7"],
|
||||||
|
"solr": ["sqlalchemy-solr >= 0.2.0"],
|
||||||
"elasticsearch": ["elasticsearch-dbapi>=0.1.0, <0.2.0"],
|
"elasticsearch": ["elasticsearch-dbapi>=0.1.0, <0.2.0"],
|
||||||
"exasol": ["sqlalchemy-exasol>=2.1.0, <2.2"],
|
"exasol": ["sqlalchemy-exasol>=2.1.0, <2.2"],
|
||||||
"excel": ["xlrd>=1.2.0, <1.3"],
|
"excel": ["xlrd>=1.2.0, <1.3"],
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
from superset.db_engine_specs.base import BaseEngineSpec
|
||||||
|
|
||||||
|
|
||||||
|
class SolrEngineSpec(BaseEngineSpec): # pylint: disable=abstract-method
|
||||||
|
"""Engine spec for Apache Solr"""
|
||||||
|
|
||||||
|
engine = "solr"
|
||||||
|
engine_name = "Apache Solr"
|
||||||
|
|
||||||
|
time_groupby_inline = False
|
||||||
|
time_secondary_columns = False
|
||||||
|
allows_joins = False
|
||||||
|
allows_subqueries = False
|
||||||
|
|
||||||
|
_time_grain_expressions = {
|
||||||
|
None: "{col}",
|
||||||
|
}
|
Loading…
Reference in New Issue