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/`` |
|
||||
| | | ``query?server=http://CONTROLLER:5983/`` |
|
||||
+------------------+-------------------------------------------------------------------+-------------------------------------------------+
|
||||
| Apache Solr | ``pip install sqlalchemy-solr`` | ``solr://`` |
|
||||
+------------------+---------------------------------------+-----------------------------------------------------------------------------+
|
||||
| Apache Spark SQL | ``"apache-superset[hive]"`` | ``jdbc+hive://`` |
|
||||
+------------------+-------------------------------------------------------------------+-------------------------------------------------+
|
||||
| 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.
|
||||
|
||||
|
||||
Apache Solr
|
||||
------------
|
||||
|
||||
The connection string for Apache Solr looks like this ::
|
||||
|
||||
solr://{username}:{password}@{host}:{port}/{server_path}/{collection}[/?use_ssl=true|false]
|
||||
|
||||
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 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 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}```
|
||||
|[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}```|
|
||||
|
|
|
@ -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
|
||||
menu: Connecting to Databases
|
||||
route: /docs/databases/spark-sql
|
||||
index: 10
|
||||
index: 11
|
||||
version: 1
|
||||
---
|
||||
|
||||
|
|
1
setup.py
1
setup.py
|
@ -123,6 +123,7 @@ setup(
|
|||
"dremio": ["sqlalchemy-dremio>=1.1.5, <1.2"],
|
||||
"drill": ["sqlalchemy-drill==0.1.dev"],
|
||||
"druid": ["pydruid>=0.6.1,<0.7"],
|
||||
"solr": ["sqlalchemy-solr >= 0.2.0"],
|
||||
"elasticsearch": ["elasticsearch-dbapi>=0.1.0, <0.2.0"],
|
||||
"exasol": ["sqlalchemy-exasol>=2.1.0, <2.2"],
|
||||
"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