Код: Выделить всё
public class FullTextSearch
{
private readonly Dictionary _documents = new Dictionary();
// Add a document to the index
public void AddDocument(int id, string content)
{
_documents[id] = content ?? string.Empty;
}
// Basic full-text search
public List Search(string query)
{
if (string.IsNullOrWhiteSpace(query))
return new List();
string[] queryTerms = query
.ToLower()
.Split(new[] { ' ', '\t', '\r', '\n', ',', '.', '!', '?' },
StringSplitOptions.RemoveEmptyEntries);
var results = new List();
foreach (var doc in _documents)
{
string content = doc.Value.ToLower();
bool allTermsFound = queryTerms.All(term => content.Contains(term));
if (allTermsFound)
results.Add(doc.Key);
}
return results;
}
}
Код: Выделить всё
static void Main()
{
var searchEngine = new FullTextSearch();
// Adding documents
searchEngine.AddDocument(1, "The quick brown fox jumps over the lazy dog.");
searchEngine.AddDocument(2, "C# is a modern programming language developed by Microsoft.");
searchEngine.AddDocument(3, "Foxes are wild animals.");
// Search queries
var result1 = searchEngine.Search("fox");
var result2 = searchEngine.Search("modern language");
var result3 = searchEngine.Search("lazy dog");
Console.WriteLine("Results for 'fox': " + string.Join(", ", result1));
Console.WriteLine("Results for 'modern language': " + string.Join(", ", result2));
Console.WriteLine("Results for 'lazy dog': " + string.Join(", ", result3));
}
c: \ users \ n_esc \ Visual Studio Projects \ Repos \ fts \ bin \ Debug \ net8.0 \ fts.exe (Process 11724), покинутые с кодом 0 (0x). /> Что я могу сделать, чтобы это исправить? < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... harp-using