SolrUtils: reliable regression test suite

* Makes test suite independent from PDF extraction process.
  (closes #1590)

* Simplifies test suite

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
WebSearch: new parsing of unbalanced phrase queries

* Removes unbalanced double quotation marks.

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
WebSearch: new Add-to-Search Interface

* New search box interface that contains both simple search
  and advanced search (javascript dependent) (addresses #622).

* Replaces the 3-line advanced search, with only 1-line add-to-search,
  with the possibility of adding patterns to the current search pattern.

* Ammends regression tests to take into account a third search
  interface.

* Moves the config variables CFG_WEBSEARCH_ENABLED_SEARCH_INTERFACES and
  CFG_WEBSEARCH_DEFAULT_SEARCH_INTERFACES from the inveniocfg.py to
  invenio.config (closes #271)

Signed-off-by: Ludmila Marian <ludmila.marian@gmail.com>
WebSearch: new fulltext by default search

 * Adds checkbox to search terms also in to fulltext to the add
   to search interface.

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
BibRank: Solr: better ranking for fulltext by default

 * Ranks fulltext and metadata properly

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
Solrutils: more accurate ranking scores

 * Ceils ranking scores to avoid anomalies

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
BibRecord: new MARC code filter

* Filters a record based on MARC code

* Supports wildcards in identifiers and subfield code

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
BibFormat: new 'xmf' format

* Supports filtering per MARC tag, identifier and subfield

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
installation: pip requirements version update

* Updates python-twitter in requirements.txt to the latest version
  (2.0) that supports Twitter 1.1 API.

Signed-off-by: Sebastian Witowski <sebastian.witowski@cern.ch>
Merge pull request #28 from pglauner/master-solr-regression-tests

SolrUtils: reliable regression test suite
Merge pull request #29 from pglauner/master-search-units-phrase

WebSearch: new parsing of unbalanced phrase queries
Merge pull request #30 from pglauner/master-fulltext-by-default

See comment in <https://github.com/CERNDocumentServer/cds-ops/pull/30#issuecomment-44002640> regarding kwargs.
Merge pull request #31 from pglauner/master-xm-fielded

Master xm fielded
WebSearch: fix number of printed records

* Fixes the number of records printed when a ranking methond is
  used.

Co-authored-by: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
Signed-off-by: Ludmila Marian <ludmila.marian@gmail.com>
Merge pull request #55 from ludmilamarian/master_websearch_fix_sliceing

Master websearch fix sliceing
Websearch: fix results when applying search limits

* Fixes prs_apply_search_limits so that the results_final dictionary is
  updated, rather than re-defined locally.

(closes #1750)

Signed-off-by: Nikolaos Kasioumis <nikolaos.kasioumis@cern.ch>
Co-Authored-By: Ludmila Marian <ludmila.marian@gmail.com>
Merge pull request #41 from kasioumis/master-search-engine-fix-apply-search-limits

Websearch: fix results when applying search limits
Merge pull request #57 from switowski/requirements_python-twitter_upgrade

installation: pip requirements version update
general: Elasticsearch logging with Lumberjack.

* Added disabled-by-default config options for Elasticsearch logging.

* When Elasticsearch logging is configured, don't populate rnkPAGEVIEWS and
  rnkDOWNLOADS.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>
elasticsearch: Added search hosts config variable.

* Added a configuration variable to configure which Elasticsearch hosts should
  be used for executing queries.

Signed-off-by: Joe MacMahon <joe.macmahon@cern.ch>