• Articles
  • Tutorials
  • Interview Questions

Apache Solr Streaming Expressions

Streaming Expressions in Apache Solr

The Structure Query Language (SQL)  engine is built on top of Solr’s Streaming API or streaming  expressions. Streaming expression provides a simple and powerful stream processing language for Solr cloud and Its support for parallel relational algebra and real-time map-reduce.

Certification in Bigdata Analytics

Distributed Joins: Streaming expressions are added to distributed joins.

  • Inner Join
  • Left Outer Join
  • Hash Join
  • Outer Hash Join

Example:

 innerJoin(search(collection1, q=*:*, fl="fieldP, fieldQ, fieldR", ...),
  search(collection2, q=*:*, fl="fieldP, fieldM, fieldN", ...),
  on="fieldP=fieldP")

Rolling streaming expression: It is a group of  the common field value tuple.
Example:

rollup(search(collection1, qt="/export" 
             q="*:*",
             fl="id,course,price", 
             sort="course asc"),
       over="course"),
       count(*),
       max(price))

Facet streaming expression: It pushes down the computation using  json.

Example: facet(intellipaat_courses,

            q="*:*",
            buckets="course",
            bucketSorts="count(*) desc",
            bucketSizeLimit=1000,
            count(*),
            sum(price),
            max(popularity))

There are many available functions.

  • Continuous push streaming
  • Continuous pull streaming
  • Request/Response streaming
  • MapReduce is shuffling aggregation
  • Pushdown faceted aggregation
  • Parallel relational algebra (distributed joins, intersections, unions, complements)
  • Publish/subscribe to messaging
  • Distributed graph traversal

Course Schedule

Name Date Details
Big Data Course 20 Jul 2024(Sat-Sun) Weekend Batch
View Details
Big Data Course 27 Jul 2024(Sat-Sun) Weekend Batch
View Details
Big Data Course 03 Aug 2024(Sat-Sun) Weekend Batch
View Details

About the Author

Technical Reseach Analyst - Data Engineering

Abhijit is a Technical Research Analyst specializing in Deep Learning. He holds a degree in Computer Science with a focus on Data Science. Being proficient in Python, Scala, C++, Dart, and R, he is passionate about new-age technologies. Abhijit crafts insightful analyses and impactful content, bridging the gap between cutting-edge research and practical applications.