❤ Если вы используете и любите обследование, пожалуйста, подумайте о том, чтобы стать спонсором GitHub ❤
Excamine позволяет легко индексировать и искать данные и завершает механизм индексации/поиска Lucene.net. Lucene очень быстрый и позволяет очень быстрый поиск даже на очень больших объемах данных. Исследование очень расширяется и позволяет настроить столько индексов, сколько вам нравится, и каждый может быть настроен индивидуально. Из изучения ящика дает вам реализацию индекса на основе Lucene, а также беглый API, который можно использовать для поиска ваших данных.
через Nuget
PM> Install-Package Examine
Совет : IExamineManager - это ворота для работы с экзаменом. Это услуга Singleton, которая зарегистрирована в DI.
Настроить услуги и создать индекс
// Adds Examine Core services
services . AddExamine ( ) ;
// Create a Lucene based index
services . AddExamineLuceneIndex ( " MyIndex " ) ;Заполнить индекс
if ( examineManager . TryGetIndex ( " MyIndex " , out var myIndex ) )
{
// Add a "ValueSet" (document) to the index
// which can contain any data you want.
myIndex . IndexItem ( new ValueSet (
Guid . NewGuid ( ) . ToString ( ) , //Give the doc an ID of your choice
" MyCategory " , //Each doc has a "Category"
new Dictionary < string , object > ( )
{
{ " Name " , " Frank " } ,
{ " Address " , " Beverly Hills, 90210 " }
} ) ) ;
}Поиск индекса
var searcher = myIndex . Searcher ; // Get a searcher
var results = searcher . CreateQuery ( ) // Create a query
. Field ( " Address " , " Hills " ) // Look for any "Hills" addresses
. Execute ( ) ; // Execute the search Информация и загрузки для выпусков проверки
Сайт документации здесь
Совет : в исходном коде есть много модульных тестов, которые можно использовать в качестве примеров того, как что -то делать. Существует также тестовый веб -проект, в котором есть множество примеров того, как настроить индексы и искать их.
© 2023 Шеннон Деминик
Это бесплатное программное обеспечение и лицензировано по публичной лицензии Microsoft (MS-PL)
Flat Vector, созданный Freepik - www.freepik.com