Skip to content
Meni Vaitsi edited this page Feb 20, 2015 · 3 revisions

Executive Summary: Interfaces with SOLR to provide the GAE Search API.

Why do we need it?

Google App Engine applications need to be able to search structured documents.

What does it do, and how does it do it?

It provides a Python web server which takes protocol buffers from the Application Servers. These requests are mapped to SOLR requests. The responses are in protocol buffers. This server is in charge of the mapping to-and-fro.

When does it do it?

It is started if the "search" role is configured. It is then started when AppScale is started.

Where does it do it?

On the "search" role node.

Developer stuff

SearchServer code is written in Python and runs on port 53423. SOLR listens to port 8983. The AppController starts the server through Monit. The logs for the server are at /var/log/appscale/search-53423.log and for SOLR at /var/log/appscale/solr-8983.log.

Tests are written with test/unit and flexmock. They can be found in appscale/SearchServer/test/unit. You can go into this directory and run "nosetests" to run just the tests for this component.

Clone this wiki locally