Pencil Down ! (17 September – 22 September )
Finally we are finished up with the project. Here is the final report of project. Here are some quick summary of project.
Introduction to advance course search :-
The project describe the integration of Apache Solr as a 3rd party Search API with moodle course schema for the implementation of course search that is flexible, case-insensitive, works with non-latin languages, fast, and can sort results by relevance.it should be database independent or should supports as many databases as possible. this is a plugin that can be installed and configured to substitute basic core search.
Problem description :-
- Non latin support with search queries: Database engines don’t recognize word boundaries in non-english languages and can’t do case-insensitive search.
- Indexing: We don’t want to reinvent the wheel as there are many awesome open source enterprise level search indexers available that can make our course search fast and efficient.
- Sorting by relevance: We need to sort results according to relevance for example if a query result matches course name then it’s more relevant then its other matches with summary of course. Implementing spelling correction (Did you mean?) feature. Also fuzzy search (alternate form of words) needs to be implemented.
- Work consistently on different database engines and different content language: Course search should be implemented in a way that it can deal with as many databases possible. and it should be able to deal with different content language.
- Java 5 or higher (a.k.a. 1.5.x).
- PHP 5.1.4 or higher.
- Solr 4.x
- Moodle 2.5 or higher
- Works with non-latin languages too
- 10 times Faster search
- Search with almost all file types
- Spell check capability
- Case insensitive search capability
- Database independent & scalable
- Fuzzy search(alternate form of words)
- Search sorting based on relevancy(score)
- Filtering results by startdate
- Pagination & filtering results
- Keyword Matching(Searching within specific field)
- Proximity Search
- Quite easy to setup and use
- Logical operator with queries