44 lines
1.2 KiB
C#
44 lines
1.2 KiB
C#
using FuzzySharp;
|
|
using Models.Handler;
|
|
using Models.Model.External;
|
|
|
|
namespace Backend.Helper;
|
|
|
|
public static class SearchHelper
|
|
{
|
|
public static SearchResults Search(string searchText, DbHandler dbHandler)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(searchText))
|
|
{
|
|
SearchResult searchResult = new();
|
|
searchResult.Description = "asd";
|
|
searchResult.Title = "asd";
|
|
searchResult.Url = "asd";
|
|
SearchResults searchResults = new();
|
|
searchResults.Results =
|
|
[
|
|
searchResult
|
|
];
|
|
return searchResults;
|
|
}
|
|
|
|
List<SearchResult?> temp = dbHandler.GetSearchResults();
|
|
SearchResults searchResultsList = new();
|
|
|
|
for (int i = 0; i < temp.Count; i++)
|
|
{
|
|
if (temp[i] is null) continue;
|
|
|
|
SearchResult result = new();
|
|
|
|
if (Fuzz.Ratio(searchText, temp[i]!.Url) <= 50 && Fuzz.Ratio(searchText, temp[i]!.Title) <= 50) continue;
|
|
|
|
result.Url = temp[i]?.Url;
|
|
result.Title = temp[i]?.Title;
|
|
|
|
searchResultsList.Results.Add(result);
|
|
}
|
|
|
|
return searchResultsList;
|
|
}
|
|
} |