Commit graph

122 commits

Author SHA1 Message Date
sam marshall
82735dec4d MDL-60555 core_search: Change unit tests to use fake time
Using real time caused rare failures. I've changed it to use fake
measurement for the indexing timeouts, which were unit-tested.
2017-10-31 14:48:09 +00:00
Andrew Nicols
0049244893 MDL-60357 search: Ensure that the document is valid
We were previously testing tha the parent is valid, which it was, and
then fetching the current record, before fetching data from it.

However, the way in which the recordset walk works, the valid function
checks whether the _record_ itself is valid, whilst the current allows
for a callback to be applied.

In this instance, the data-entry was failing because the count of
indexfields was < 2. The recordset data itself was valid, but the view
was not, and as a result, the current() function returned false.

This false was not previously handled.

I've changed the logic so that we handle this case, and have removed a
double-negative in the process.
2017-10-13 09:41:59 +08:00
Andrew Nicols
e61ad18e70 Merge branch 'MDL-55356-master' of https://github.com/sammarshallou/moodle 2017-10-12 11:28:04 +08:00
sam marshall
74b7a42d0d MDL-55356 core_search: Make indexing task/CLI do context requests 2017-10-11 17:17:10 +01:00
sam marshall
4ba11aa907 MDL-55356 core_search: New manager API index_context
New function which uses the get_document_recordset function in
search areas to support full and partial indexing of a given
context.
2017-10-11 17:17:10 +01:00
sam marshall
427b756355 MDL-55356 core_search: New area API get_document_recordset
The search area API now includes a new function get_document_recordset
which should be implemented in preference to the older
get_recordset_by_timestamp. (It's also possible to implement both in
plugin search areas which need to work against older Moodle versions.)

Existing search areas without the new function will continue to work as
before (obviously without the new functionality).
2017-10-11 17:17:08 +01:00
sam marshall
eacb2bd11b MDL-55356 core_search: API to queue contexts for indexing
New API \core_search\manager::request_index($context, $areaid = '')
adds the given context to a list which is intended to be indexed
later by the scheduled task.
2017-10-11 17:17:07 +01:00
sam marshall
d761b3fb19 MDL-55356 core_search: API to check if indexing enabled
New function \core_search\manager::is_indexing_enabled(), analagous
to existing is_global_search_enabled().

This replaces existing duplicated code, ready for more use in
following commits.
2017-10-11 17:17:06 +01:00
sam marshall
0da8f62f3b MDL-55356 core_search: Make base_block handle empty restored blocks 2017-10-11 17:17:05 +01:00
sam marshall
2d2fcc1c9e MDL-60357 core_search: Future modified times cause serious problems 2017-10-06 13:38:32 +01:00
sam marshall
2d94d4ea7c MDL-59913 Global search: Allow search of non-enrolled courses 2017-09-29 16:30:37 +01:00
Eloy Lafuente (stronk7)
db7083c4c4 Merge branch 'MDL-60105_master' of git://github.com/dmonllao/moodle 2017-09-19 01:55:12 +02:00
Matt Clarkson
3043fe924d MDL-60105 search: Fix fatal error
If an indexed file has been modified or deleted the search index
will still reference the old file. Remove the file from search
results until the change has been indexed.
2017-09-13 13:51:30 +02:00
Eloy Lafuente (stronk7)
2e6112dd3f Merge branch 'MDL-59926-master' of https://github.com/sammarshallou/moodle 2017-09-12 00:27:49 +02:00
sam marshall
e36eefaeea MDL-59926 core_search: Allow Behat testing of results screens 2017-09-04 17:42:53 +01:00
Matt Porritt
4e921569d0 MDL-59459 Golbal Search: Increase file indexing coverage
Increase the scope of the files that are detected and
indexed by Moodle's Global Search. This includes intro
and content areas of search areas. The use case here is
in a description for an activity there is a file added
that contains more information about the activity.
It would an advantage to be able to search this content
as well. It would also allow search engine plugins to be
able to index non text files such as images.
2017-09-02 10:28:17 +10:00
sam marshall
e80e4778c5 MDL-58957 Global search: fix failing text compare in Oracle 2017-07-13 14:41:37 +01:00
Simey Lameze
a14907faa8 MDL-58957 core_block: fix link to site home 2017-07-13 11:10:36 +08:00
David Monllao
afabbd110e Merge branch 'MDL-59039-master' of https://github.com/sammarshallou/moodle 2017-07-11 21:49:03 +02:00
sam marshall
67d6479581 MDL-59039 Global search: Allow partial indexing (in scheduled task) 2017-07-11 16:41:33 +01:00
sam marshall
a96faa49a8 MDL-58957 Global search: Add block support to search manager 2017-06-30 13:10:12 +01:00
Matt Porritt
0a9a10f029 MDL-58654 Global search: Allow engines to support batch processing.
Allow Global Search 3rd party engines to be much faster by supporting batch processing.
Refactor the iterator loop for the documents to add to the search index into its own method.
Move this new method from the manger class to the base engine class.
The move to the base engine class will allow search engine plugins to override this and determine
how they implment it. It will not break the existing interface contract with existing plugins.

Finally, add an elasped time indication to the trace output.
2017-05-31 08:28:12 +10:00
David Monllao
b805d3f8ef MDL-56057 search: Fix incorrectly reported no enabled search areas
Also improved performance caching enabled search areas and
all search areas at the same time.
2016-10-12 08:30:23 +08:00
David Monllao
e71061a22b MDL-55191 search: Generate an search result viewed event 2016-09-15 09:36:49 +08:00
David Monllao
f3d38863fe MDL-55390 search: is_search_area unit tests
Added extra checking for search manager get_search_area.
2016-08-09 15:51:30 +08:00
Andrew Nicols
46c31069f3 MDL-55390 core_search: Correct variable name 2016-08-09 13:44:10 +08:00
Devang Gaur
396d6f0a6e MDL-55390 core_search: check if a search area is real 2016-08-05 01:12:21 +05:30
David Monllao
2a36babbc8 MDL-55357 search: Contents include UTF8 characters, adding u modifier 2016-07-29 14:36:17 +08:00
Dan Poltawski
773a11519d Merge branch 'MDL-55278_master' of https://github.com/dmonllao/moodle 2016-07-26 11:57:09 +01:00
David Monllao
379ca98642 MDL-55287 search: Check that an engine has been selected 2016-07-21 18:40:29 +02:00
David Monllao
0bd8383a8b MDL-55278 search: Updating references to area namespace 2016-07-21 18:38:18 +02:00
David Monllao
8fa1810cec MDL-55278 search: Get rid of core_search\area namespace 2016-07-21 18:38:18 +02:00
Dan Poltawski
b76edf3cfa Merge branch 'MDL-54926-master' of git://github.com/merrill-oakland/moodle 2016-07-11 16:54:40 +01:00
Dan Poltawski
64ec975e19 Merge branch 'MDL-55082-master' of git://github.com/merrill-oakland/moodle 2016-07-11 15:20:48 +01:00
David Monllao
6a4c2146f9 MDL-53222 search: Replace report_search by new searchareas admin page 2016-07-11 11:49:14 +02:00
Dan Poltawski
c3a95c2840 MDL-53222 admin: rejig listing of search areas 2016-07-11 11:38:41 +02:00
Andrew Nicols
91dc1e8795 Merge branch 'MDL-55053-master' of git://github.com/merrill-oakland/moodle 2016-07-04 14:04:23 +08:00
Eric Merrill
55b62370aa MDL-55082 search: Update core areas to return results in time ASC order 2016-06-30 11:11:35 -04:00
Dan Poltawski
5fd469e921 Merge branch 'MDL-54993' of https://github.com/sk-unikent/moodle 2016-06-30 09:24:56 +01:00
Eric Merrill
a02fe723dd MDL-55053 search: Display search areas in alphabetical order 2016-06-28 17:19:09 -04:00
Eric Merrill
4e2b5191d4 MDL-54926 search: Reduce over-escaping in results 2016-06-28 16:33:29 -04:00
David Monllao
25ba053ff2 MDL-54707 search: Add user context to get_areas_user_accesses 2016-06-26 21:23:16 +02:00
Skylar Kelty
a5deab2d72 MDL-54993 search: Provide areaid parts to template 2016-06-22 14:51:59 +01:00
David Monllao
505ce88467 MDL-54627 search: Ensure that all format_string strings are text.
All user input that is usually displayed through format_strings with
filters like mulitlang applied should be converted to text as well.
2016-05-19 13:16:01 +08:00
David Monllao
e314b35471 MDL-53170 search: New area for my courses
Thanks to Skylar Kelty for the initial implementation.
2016-05-10 18:15:42 +08:00
David Monllao
1f69cd819f MDL-53170 search: API fixes for core subsystems 2016-05-10 18:15:41 +08: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
David Monllao
4db87b505c Merge branch 'MDL-53813-master' of git://github.com/danpoltawski/moodle 2016-04-26 10:13:24 +08:00
Dan Poltawski
4ee37fe04b Merge branch 'wip-MDL-53798-master' of https://github.com/marinaglancy/moodle 2016-04-20 11:09:48 +01:00
David Monllao
23fc1be833 MDL-53535 search_solr: Solr version restrictions
Also removing is_server_ready call from execute_query as in production
workflows search is done through \core_search\manager::search and
\core_search\manager::instance already checks is_server_ready. In
testing environment setUp functions should check that the server is
ready before performing other actions.
2016-04-18 09:59:58 +08:00