Commit Graph

44 Commits

Author SHA1 Message Date
Jake Dallimore 6f5719ff29 MDL-72118 search: fix unit test dependant on HTML block pluginname
Change this to use "Block: Text" instead.
2021-09-16 11:51:35 +08:00
Eloy Lafuente (stronk7) 515fc0447e MDL-71731 phpunit: isolate tests requiring lots of peak mem
It's mostly addDocuments(), used by test_add_document_batch_large()
with 100 big documents what requires a lot of ram
although apparently, it's freed (partially) once ended.
Just the peak usage remains high. In any case, isolating that
test to avoid the non-freed side of it to consume too
much memory for the rest. (We allow "only" 2GB).

Still, I think that there is a good work about to detect which
tests are leaking / consuming too much, I'd bet there are
a bunch running completely out of control.
2021-05-27 19:42:22 +02:00
Eloy Lafuente (stronk7) ba5b6089d5 MDL-71036 phpunit: Renamed various regexp-related assertions
In PHPUnit 9.1, the following regexp-related assertions
have been deprecated and there are new alternatives for
all them:
    - assertRegExp()     -> assertMatchesRegularExpression()
    - assertNotRegExp()  -> assertDoesNotMatchRegularExpression()

This is about to, simply, move all cases to the new alternatives.

Source: https://github.com/sebastianbergmann/phpunit/blob/9.1.0/ChangeLog-9.1.md

Regexp to find all them:

    ag 'assertRegExp|assertNotRegExp' -li
2021-03-11 19:22:24 +01:00
Eloy Lafuente (stronk7) 40de097e65 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7) f6711bb394 MDL-67673 phpunit: Fix the return type of template methods
All the setup/teardown/pre/post/conditions template methods
now are required to return void. This was warned with phpunit 7
and now is enforced.

At the same time, fix a few wrong function names,
provider data and param types, return statements...
2020-10-21 12:45:59 +02:00
sam marshall 679e8d8b66 MDL-68729 Search: Allow query on one server while indexing another
To support transitions from one search engine to a different one, or
to a different installation of the same kind, this feature allows for
queries to use a different search engine from indexing. So you can
reindex (and do all other search operation) on one server, while
user queries are unaffected on a different server.

This feature supports changing between search engine types, and also
between two Solr installations.
2020-08-06 12:12:01 +01:00
sam marshall 0deb19468d MDL-68690 Search: Allow Solr to add documents in batches
Adding documents in batches instead of one at a time can make
indexing using Solr significantly faster.

This adds new API functions for search engines, including
add_document_batch() to add a batch of documents,
supports_add_document_batch(), get_batch_max_documents() and
get_batch_max_content().
2020-07-10 11:32:46 +01:00
sam marshall 7ba2a20166 MDL-66326 Global search: Delete from index when courses are deleted
Adds new API support within search engines for optional methods to
delete data for courses and contexts, and implements this for the
two core search plugins (simpledb and solr).

The new API is automatically called when courses or contexts are
deleted. When a whole course is deleted, it only sends the course
delete rather than sending 1,000 separate context deletions as
each activity/block is deleted.
2019-08-23 11:51:50 +01:00
sam marshall c207289127 MDL-65806 Search: Solr does not find words in italic 2019-06-11 16:40:15 +01:00
Dmitrii Metelkin 2085e8603a MDL-62869 search: implement searching for all courses 2019-03-01 07:18:37 +11:00
Eloy Lafuente (stronk7) 57565dc3b2 Merge branch 'MDL-62183_master' of git://github.com/dmonllao/moodle 2018-04-24 15:49:16 +02:00
David Monllao b137e02973 MDL-62183 search_solr: Set solr as search engine for solr unit tests 2018-04-24 13:12:48 +02:00
David Monllao 590c774d37 Merge branch 'MDL-62042-master' of https://github.com/sammarshallou/moodle 2018-04-23 16:07:37 +02:00
sam marshall 222a97ce76 MDL-61028 core_search: Allow filtering search by user (back-end, Solr)
Adds support in the Solr engine for a new 'userids' parameter to
restrict search results to those created by a specific user or users.
2018-04-20 13:36:55 +01:00
sam marshall ffa868a9e1 MDL-62042 core_search: Unicode non-characters cause indexing problems
Unicode characters such as U+FFEF can be entered into Moodle data and
cause indexing failures. This change strips them out of search fields.
2018-04-19 16:54:47 +01:00
Eloy Lafuente (stronk7) bdb22af959 Merge branch 'MDL-53226-master' of git://github.com/andrewnicols/moodle 2018-03-28 18:15:52 +02:00
David Monllao 2ee2f53021 MDL-53226 search_simpledb: Adding clumsy search 2018-03-20 18:33:03 +01:00
sam marshall fc440796e9 MDL-59434 core_search: Alternate result orders including by context
Implements a mechanism by which search engines can provide different
result orderings, and implements a 'by location' ordering within the
Solr search engine (available whenever the user starts their search
from within a course or activity).
2018-03-20 12:15:25 +00:00
sam marshall 163d280053 MDL-58885 core_search: Group support unit tests 2018-02-16 16:57:01 +00:00
sam marshall cfa00fc565 MDL-60880 core_search: Allow search of specific context (back-end)
Adds back-end support for restricting searches to specified context
ids (for example so it is possible to search only a specific forum).
2017-12-05 17:42:38 +00:00
Eric Merrill 1aaead91f9 MDL-55725 search: Index proper time modified with indexed files 2016-09-07 17:33:28 -04:00
Eric Merrill 861de101a9 MDL-53758 search: Fix unittest error 2016-04-29 12:17:51 +01:00
Eloy Lafuente (stronk7) 33952d4a53 Merge branch 'MDL-53758-master' of git://github.com/merrill-oakland/moodle 2016-04-26 20:34:20 +02:00
Eric Merrill 053118a184 MDL-53758 search: Better results with low hit rates, improve performance
Ensures that Solr will return available results, even if there are many
misses when using check_access(), by asking Solr for more results if the
counter says there should be more.

Improves performance by ending processing as soon as the requested page
of results is processed. Remaining number of pages is an "estimate"
based on the total result count from Solr and how many items we have
rejected up to this point.
2016-04-17 21:59:25 -04:00
Eric Merrill 501801a2f8 MDL-53642 search: Allow selection of multiple areas to filter 2016-04-07 14:47:47 -04:00
Eric Merrill 427e3cbcd6 MDL-53167 search: Add ability to limit courses searched 2016-04-07 14:41:59 -04:00
Eric Merrill 546c0af511 MDL-53579 search: Fix conflict with eDisMax parser and indexed files 2016-04-06 14:09:35 -04:00
Eric Merrill 2f492364d9 MDL-53272: Fix calls to missing cache def 2016-04-04 15:36:42 +01:00
David Monllao 3dab4841e5 MDL-53272 search: Unit tests to discard caching issues 2016-04-04 15:38:03 +08:00
David Monllao 9470e4d1ed MDL-53272 search: Remove search results cache 2016-04-04 15:38:03 +08:00
Dan Poltawski 79efd94da3 Merge branch 'MDL-53643_master' of git://github.com/dmonllao/moodle 2016-03-30 15:52:26 +08:00
David Monllao bd5d2c60be MDL-53643 search_solr: Setting correctly test server data 2016-03-30 11:40:38 +08:00
Eric Merrill 8dfc6291dd MDL-53516 search: Remove file index unit test disable flag 2016-03-29 08:59:44 -04:00
Dan Poltawski e195da19e0 Merge branch 'MDL-53516-master' of git://github.com/merrill-oakland/moodle 2016-03-29 16:35:44 +08:00
Dan Poltawski 868e5ef0d5 Merge branch 'MDL-53515-master' of git://github.com/merrill-oakland/moodle 2016-03-29 14:39:53 +08:00
Dan Poltawski ca0d7bf21c Merge branch 'MDL-53508-master' of git://github.com/merrill-oakland/moodle 2016-03-26 10:26:02 +08:00
Eric Merrill cd894f84b3 MDL-53516 search: Adding file indexing support to Solr
Expand the Solr engine to use the built in (to Solr) Tika
file indexing engine. Files are shipped off for indexing with
curl. Each file must have it's own document. So grouping is
used to keep files and Moodle docs associated.
2016-03-24 16:39:55 -04:00
Eric Merrill 091973dbd7 MDL-53515 search: Extend search API to allow file indexing 2016-03-24 15:44:27 -04:00
Eric Merrill 4894840dc6 MDL-53508 search: Improve highlighting and move to text fields 2016-03-23 08:55:48 -04:00
Dan Poltawski ef67e6c5f8 Merge branch 'MDL-53412-master' of git://github.com/merrill-oakland/moodle 2016-03-21 08:57:22 +08:00
Eric Merrill 5dc4624ced MDL-53412 search: Correctly handle Solr over SSL 2016-03-17 01:13:15 -04:00
Eric Merrill 0aa3fedb23 MDL-53354 search: Fix unit test call to commit 2016-03-16 12:07:44 +08:00
Eric Merrill f6b425e2de MDL-53354 search: Add ability to limit search doc to a user 2016-03-10 09:19:05 -05:00
David Monllao 95c6aeaf1c MDL-31989 search_solr: Solr search engine 2016-02-23 10:47:58 +00:00