Issues
An enormous waste of memory
The use of hashmaps has caused this issue due to the immense amount of terms implied each with their definition, as shown in the following code:
Map<String, String> wordMap;
public DictionaryReader() throws IOException {
wordMap = new HashMap<>();
try (var lines = Files.lines(Path.of("source\\Dictionary.txt"))) {
wordMap = lines.map(line -> line.split(":"))
.collect(Collectors.toMap(line -> line[0], line -> line[1].trim()));
}
}
Limited functionality
This is a suggestion in which I find that having a reader isn't a sufficient functionality for an entire search engine, besides the lack of an appealing GUI.
Solutions
Altering the HashMap with an SQL database
This solution will solve the reliance on memory and rather depend entirely on storage solutions, most likely using a SQLite database.
Adding a scopes-based system
This system will provide various additional functionalities that will be possible to implement and therefore improve the overall scalability of the project.
Issues
An enormous waste of memory
The use of hashmaps has caused this issue due to the immense amount of terms implied each with their definition, as shown in the following code:
Limited functionality
This is a suggestion in which I find that having a reader isn't a sufficient functionality for an entire search engine, besides the lack of an appealing GUI.
Solutions
Altering the HashMap with an SQL database
This solution will solve the reliance on memory and rather depend entirely on storage solutions, most likely using a SQLite database.
Adding a scopes-based system
This system will provide various additional functionalities that will be possible to implement and therefore improve the overall scalability of the project.