Account Resources

Opensolr Account Resources — find answers to your questions

Solr Traffic Bandwidth

Opensolr does not bill by the number of requests. It bills the bytes your index sends back. A tight query and a sloppy one cost the same to make, but not the same to answer.

1,000,000 lean responsesa few bytes each1 GBsame bandwidthsame bill1 heavy responseevery field, every row, no filtersonly the fields you need

One gigabyte of bandwidth is a million lean responses, or one heavy one. What you ask for decides which.

01 · What is counted

On a pre-paid plan you are billed for the outgoing bytes sent from your Opensolr index to your site or app. Nothing else. Not the number of queries, not the size of your index, not the traffic your own site receives.

Every field you return, every row you fetch and every facet you do not need is bandwidth. Return only the fields the page shows, page results instead of pulling thousands of rows, and use filters so the index does the narrowing. The best practices guide covers each of these.
02 · Why is my bandwidth high
Visitorsand botsYour search pageOpensolrindexevery hit becomes a queryoutgoing bytes = billedonly this direction is counted

Whoever reaches your search page, human or bot, triggers a query. The response coming back from the index is the part that counts.

  • Bots and crawlers visit search pages far more than people do, and each visit becomes a query against your index.
  • Heavy responses multiply that. A search page that returns full documents with every field makes every bot visit expensive.
  • A sudden overnight spike is almost always a crawler loop or a scripted attack on the search page, not real visitors.
03 · What to do about it
  • Read the bandwidth saving tips: field lists, paging, filters and caching, in the order they usually pay off.
  • Follow the best practices guide when you build the queries in the first place.
  • Find the source in your logs before you tune anything. Opensolr logs every request to your index, and you can see all of it in three places below.
04 · Where to see who is using it
Logs and analytics API

Query, facet and analyze your request log by any field. Facet by IP and path and you can see exactly who is eating the bandwidth. API documentation

Request log faceted by IP and path through the Opensolr API

The request log faceted by IP address and request path.

Index control panel analytics

Traffic over time, spikes, popular queries and the pages behind them, per index, inside your control panel. Real time monitoring and analytics

Traffic analytics in the Opensolr index control panel

Traffic and query analytics for one index.

Popular queries and traffic sources in the Opensolr index control panel

Popular queries and where the traffic comes from.

Tail the live request log

The last 1,000 lines of the live request log, straight from the control panel. Watch traffic as it happens and spot a loop or an attack the moment it starts.

Live request log tail in the Opensolr index control panel

The live request log, as it comes in.

Live request log tail, filtered, in the Opensolr index control panel

The same log, filtered down to one source.

If the numbers still do not add up, contact us with the index name and we will look at the log with you.

Read Full Answer

Solr Best Practices

🧠 Solr RAM & Memory Management: Best Practices (or, “How Not to Blow Up Your Server”)

Solr is a beast—it loves RAM like a dog loves a steak. If your Solr server is gobbling up memory and crashing, don’t panic! Here’s what you need to know, plus battle-tested ways to keep things lean, mean, and not out-of-memory.


Why Does Solr Use So Much RAM?

Solr eats memory to build search results, cache data, and keep things fast.
But:

  • Bad configuration or huge, inefficient requests can cause even the biggest server to choke and burn through RAM.
  • Sometimes, small indexes on giant machines will still crash if your setup isn’t right.
  • Good news: Opensolr has self-healing—if Solr crashes, it’ll be back in under a minute. Still, prevention is better than panic.

Essential Best Practices

1. Save Transfer Bandwidth (and Memory)

Want to save bandwidth and RAM? Read these tips.
Optimizing your queries is a win-win: less data in and out, and less stress on your server.


2. Don’t Ask Solr to Return 10 Million Results

  • Requesting thousands of docs in one go?
    That makes Solr allocate all that data, and cache it, too.
  • Solution: Keep the rows parameter below 100 for most queries.
    Example:
    &rows=100
    

3. Paginate Responsibly (Or: Don’t Scroll to Infinity)

  • If you’re paginating over millions of docs (like &start=500000&rows=100), Solr has to allocate a ton of memory for all those results.
  • Solution: Try to keep start under 50,000 if possible.
  • The more stored fields you have in your schema, the more RAM will be used for large paginations.

4. Heavy Faceting, Sorting, Highlighting, or Grouping? Use docValues=true

  • Operations like faceting, sorting, highlighting, and grouping can be memory hogs.

  • Solution: Define your fields with docValues="true" in schema.xml.

  • Example:

    <field name="name" docValues="true" type="text_general" indexed="true" stored="true" />
    
  • For highlighting, you may want even more settings:

    <field name="description" type="text_general" indexed="true" stored="true" docValues="true" termVectors="true" termPositions="true" termOffsets="true" storeOffsetsWithPositions="true" />
    

5. Don’t Go Cache-Crazy

Solr caches are great... until they eat all your memory and leave nothing for real work.

  • The big four:

    • filterCache: stores document ID lists for filter queries (fq)
    • queryResultCache: stores doc IDs for search results
    • documentCache: caches stored field values
    • fieldCache: stores all values for a field in memory (dangerous for big fields!)
  • Solution: Tune these in solrconfig.xml and keep sizes low.

  • Example:

    <filterCache size="1" initialSize="1" autowarmCount="0"/>
    

6. Using Drupal?


Final Wisdom

  • RAM is precious. Don’t let Solr treat it like an all-you-can-eat buffet.
  • Optimize requests, paginate wisely, and keep configs tight.
  • If Solr OOMs (“Out of Memory”)—Opensolr’s got your back, but wouldn’t you rather avoid the drama?

Questions? Want a config review or more tips? Contact the Opensolr team!

Read Full Answer

Laravel / Solarium / Vue / Opensolr Search Engine Sample Cod...

Overview

This is a fully functional Laravel application that demonstrates how to build a complete search engine using Vue.js on the frontend and Solarium (the leading PHP Solr client library) on the backend, all powered by an Opensolr index.

It serves as an excellent starting point for developers who want to integrate Solr-powered search into a modern PHP application with a reactive JavaScript frontend.

What the App Demonstrates

  • Full-text search — Type-ahead search with instant results from your Solr index.
  • Solarium integration — How to configure and use Solarium as a PHP Solr client within Laravel.
  • Vue.js frontend — A reactive search interface built with Vue components.
  • Opensolr connectivity — Connecting to a hosted Solr index on Opensolr with no server management required.

GitHub Repository

The complete source code is available on GitHub:

github.com/phpcip/laravel-solarium-vue-opensolr-search

Getting Started

  1. Clone the repository and run composer install to install PHP dependencies.
  2. Configure your Opensolr endpoint in the application configuration — point it to your Opensolr index URL.
  3. Run npm install and build the Vue frontend assets.
  4. Start the Laravel development server with php artisan serve.

Technology Stack

  • Laravel — PHP web application framework
  • Solarium — PHP Solr client library (solarium.readthedocs.io)
  • Vue.js — Progressive JavaScript framework for building the search UI
  • Opensolr — Hosted Solr service providing the search backend

Laravel Solarium Vue Opensolr Search Engine

Read Full Answer

Loading more articles...