Using DSE Search with the DataStax drivers
The DataStax drivers allow developers to perform DSE Search queries in their applications.
dse.yaml
The location of the dse.yaml file depends on the type of installation:
Package installations |
|
Tarball installations |
|
The DataStax drivers allow developers to perform DSE Search queries in their applications.
DataStax Enterprise Search enables applications to query data. Queries may use these features:
-
general
-
indexing
-
full-text
-
faceted (categorization)
-
hit prioritization
-
spatial and temporal filtering
-
social media matchups
The DataStax drivers allow applications to access these features using solr_query syntax in the WHERE
clause or normal CQL semantics.
Before using DSE Search capabilities in an application, enable the target DSE nodes for DSE Search. Create search indexes for the columns that will be accessed in the queries.
It is a best practice to plan ahead for columns and types that are indexed because adding search indexes has a resource and performance cost. |
Load balancing
DSE Search queries must be directed to a datacenter with DSE Search enabled by using the load balancing policy in the driver. Use a datacenter-aware load balancing policy with the DSE Search local datacenter. For more, see Working with multi-workload clusters.
Paging
DSE Search paging is integrated in the DataStax driver execution implementation.
The drivers use cursors for deep pagination.
Enable paging through the cql_solr_query_paging
option in dse.yaml on the server, or dynamically in the application in the solr_query
parameters.
Geospatial data types
Location-based search is a key feature for a personalized user experience. DataStax Enterprise enables this through special geospatial data types:
-
Point
-
LineString
-
Polygon
See Geospatial queries for Point and LineString. There are basic and advanced examples of geospatial data type queries.
Date ranges
Filtering by date and time is a common use case in search queries. DSE Search delivers powerful filtering on single point-in-time or open bound date ranges through the CQL DateRangeType.