Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New implementation of Search API #2981

Closed
wants to merge 15 commits into from
Closed

Conversation

jeanleonov
Copy link
Contributor

@jeanleonov jeanleonov commented Jan 28, 2019

You could already hear something about SearchService2..

Current orchestration implementation is temporary, that's why you can see some hardcoded values in AppController. It's going to be changed to orchestration model similar to what we have for Datastore.

Related PRs will be referred later (new role in appscale-tools, hawkeye tests and another AppScalefile template to be tested with hawkeye).

Depends on:

Regression tests:

Scripts helps to:
 - install SolrCloud;
 - configure it to use Zookeeper of deployment;
 - create "appscale-search-api-config" config set in Solr;
 - enable and start Solr service.
 - antlr4 grammar was added;
 - appscale syntax tree preprocessor was added;
 - build script for compiling antlr4 parser was added.
 - Number of models corresponds to GAE Search API objects;
 - Others helper models represent Solr objects.
 - solr_api takes care of communication with SolrCloud;
 - constants were also added.
 - Solr Adapter implements functionality of Search API using Solr.
 - query_convertor could be a part of solr_adapter but this chunk of
   functionality worth own module.
 - api_methods takes care of protobuf serialization-deserialization;
 - *.proto files contains protocol definitions.
 - search_server is main module of SearchService2;
 - ensure_searchservice2.sh takes care of compilation of protocols and
   grammar and installs search package.
Also added support for multiple search_ip addresses.
Copy link
Member

@cdonati cdonati left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work overall!

AppController/djinn.rb Outdated Show resolved Hide resolved
AppController/lib/monit_interface.rb Show resolved Hide resolved
SearchService2/README.md Outdated Show resolved Hide resolved
SearchService2/appscale/search/api_methods.py Outdated Show resolved Hide resolved
SearchService2/appscale/search/search_server.py Outdated Show resolved Hide resolved
SearchService2/solr-management/ensure_solr_running.sh Outdated Show resolved Hide resolved
 - use /etc/appscale/search2_ips for storing Search2 locations;
 - fail during runtime if Solr 7.6 is not installed;
 - raise client error if feature is not supported;
 - use nargs='+' for zk-locations argument;
@jeanleonov
Copy link
Contributor Author

jeanleonov commented Jan 31, 2019

@jeanleonov
Copy link
Contributor Author

@jeanleonov jeanleonov closed this Mar 7, 2019
@jeanleonov jeanleonov deleted the search2 branch July 29, 2019 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants