We want to perform a full text search within all the valid parts of the selected portion of the database. We can try to define the best possible search orders and follow them (orders by hit probability of that property of the document).
If this is unfeasible, we should look into integrating third party solutions such as ElasticSearch (if it can be used for this) or others.
[x] GET /v1/searchCourses {query: "string"} -- search course titles: nothing found -> (TODO: search course professors ->) search question titles -- returns list of courses
[ ] corresponding test
[x] GET /v1/searchQuestions {query: "string", courseId: int} -- search question titles: nothing found -> question tags: nothing found -> question text -- returns list of questions of that course containing the query
[ ] corresponding test
[x] GET /v1/searchDiscussion {query: "string", questionId: int} -> returns list of comments to that question containing the query
We want to perform a full text search within all the valid parts of the selected portion of the database. We can try to define the best possible search orders and follow them (orders by hit probability of that property of the document).
If this is unfeasible, we should look into integrating third party solutions such as ElasticSearch (if it can be used for this) or others.