Package com.mindstore.backend.service
Class TextSearchService
java.lang.Object
com.mindstore.backend.service.TextSearchService
Service class for search functionalities within the text index
-
Constructor Summary
ConstructorsConstructorDescriptionTextSearchService(org.opensearch.client.opensearch.OpenSearchClient client) text search service -
Method Summary
Modifier and TypeMethodDescriptionautocomplete(String prefix) function for autocompletion results for a searchfunction: service method that returns all available textDocumentsfindAllWithTags(List<String> categories, String searchAfter, int size) function that finds all texts with certain tagsCategory[]findTags()function: returns all available values of Category enumfunction: search the available TextDocuments for a specific stringsearchForCommand(String command, int page, int size, String searchAfter) function: search the available TextDocuments for a specific stringsearchHighlighted(String query, int page, int size, String searchAfter) function: search the available TextDocuments for a specific stringsearchThroughTaggedTexts(List<String> categories, String query, int page, int size, String searchAfter) search function for tagged textssearchWithTimeSpan(String query, int page, int size, String searchAfter, String from, String to) function: search the available TextDocuments for a specific string
-
Constructor Details
-
TextSearchService
public TextSearchService(org.opensearch.client.opensearch.OpenSearchClient client) text search service- Parameters:
client- opensearch client
-
-
Method Details
-
search
function: search the available TextDocuments for a specific string- Parameters:
query- the string we are searching forpage- param used for pagination, page numbersize- defines how many results are returnedsearchAfter- string for the next search result page- Returns:
- a SearchResultDto with TextDocuments that match the query
-
searchThroughTaggedTexts
public SearchResultDto<TextDocument> searchThroughTaggedTexts(List<String> categories, String query, int page, int size, String searchAfter) search function for tagged texts- Parameters:
categories- - the list of categories that we need to filterquery- - the user querypage- - page for resultsize- - number of resultssearchAfter- String for pagination- Returns:
- list of searchResultDtos
-
autocomplete
function for autocompletion results for a search- Parameters:
prefix- - String that we are searching for- Returns:
- List of titles that match for that string
- Throws:
IOException- when search fails
-
findTags
function: returns all available values of Category enum- Returns:
- array of categories
-
findAll
function: service method that returns all available textDocuments- Parameters:
searchAfter- - searchAfter stringsize- - size of the results- Returns:
- list of documents
-
findAllWithTags
public SearchResultDto<TextDocument> findAllWithTags(List<String> categories, String searchAfter, int size) function that finds all texts with certain tags- Parameters:
categories- list of category enum stringssearchAfter- - searchAfter stringsize- - size of the results- Returns:
- a List with TextDocuments that match that query
-
searchWithTimeSpan
public SearchResultDto<TextDocument> searchWithTimeSpan(String query, int page, int size, String searchAfter, String from, String to) function: search the available TextDocuments for a specific string- Parameters:
query- the string we are searching forpage- param used for pagination, page numbersize- defines how many results are returnedsearchAfter- string for the next search result pagefrom- defines the from date for the time spanto- defines the to date for the time span- Returns:
- a SearchResultDto with TextDocuments that match the query, filter out the search results from the time span
-
searchForCommand
public SearchResultDto<TextDocument> searchForCommand(String command, int page, int size, String searchAfter) function: search the available TextDocuments for a specific string- Parameters:
command- the string we are searching forpage- param used for pagination, page numbersize- defines how many results are returnedsearchAfter- string for the next search result page- Returns:
- a SearchResultDto with TextDocuments that match the query, filter out the search results from the time span
-
searchHighlighted
public SearchResultDto<SearchHitDto<TextDocument>> searchHighlighted(String query, int page, int size, String searchAfter) function: search the available TextDocuments for a specific string- Parameters:
query- the string we are searching forpage- param used for pagination, page numbersize- defines how many results are returnedsearchAfter- string for the next search result page- Returns:
- a SearchResultDto with TextDocuments that match the query, highlighted search results
-