Wyszukiwanie pełnotekstowe w nAxiom
Podsumowanie:W nAxiom dostępne są podstawowe funkcjonalności umożliwiające korzystanie z funkcji wyszukiwania pełnotekstowego w plikach załączników, w polach dokumentów, w komentarzach do dokumentów i w plikach poddanych przetwarzaniu OCR. W przypadku pól dokumentów konieczne ustawienie atrybutu wyszukiwania pełnotekstowego we właściwościach kolumny w kreatorze modeli danych.
nAxiom używa silnika wyszukiwania Elasticsearch.
W tym temacie
Wdrożenie Elasticsearch
Witrynę nAxiom można podłączyć do lokalnego lub zdalnego wdrożenia ElasticSearch. Nie jest obsługiwana współpraca z wdrożeniem chmurowym Elasticsearch Service.
Na potrzeby testów można uruchomić lokalne wdrożenie Elastic, pobierając pakiet ZIP ze strony producenta https://www.elastic.co/downloads/elasticsearch, wypakowując folder produktu i uruchamiając plik elasticsearch.bat z podkatalogu bin.
Od wersji 8 silnik Elasticsearch domyślnie uruchamia się z włączonymi zabezpieczeniami, umożliwiając szyfrowaną komunikację z aplikacją kliencką. Podczas pierwszego uruchomienia oprogramowanie generuje certyfikat CA (podkatalog config/certs) oraz wyświetla hasło dla domyślnego użytkownika elastic. Certyfikat należy dodać do magazynu Zaufane główne urzędy certyfikacji, a nazwę użytkownika i hasło należy zapisać i podać w konfiguracji nAxiom.
Do pierwszego uruchomienia programu elasticsearch.bat nie należy używać wiersza poleceń z podniesionymi uprawnieniami (
Uruchom jako administrator
), ponieważ spowoduje to konflikt uprawnień do podfolderów tworzonych podczas pierwszego uruchomienia.
W przypadku wdrożenia lokalnego silnik Elasticsearch jest dostępny pod adresem https://localhost:9200. Po wpisaniu tego adresu w przeglądarce wyświetlane jest okno logowania, a po podaniu poświadczeń, dane w formacie JSON z podstawowymi informacjami o działającej instancji silnika Elasticsearch.

Konfiguracja w pliku appsettings.json
Jednym z warunków włączenia wyszukiwania pełnotekstowego w witrynie nAxiom jest skonfigurowanie parametrów połączenia z instancją silnika Elasticsearch, która ma być używana. Wymaga to edycji pliku appsettings.json dla serwisu api. Odpowiedni fragment wygląda następująco:
"Modules": {
"FullTextSearch": {
"Enabled": true,
"MaxQueryResults": 50,
"ElasticSearch": {
"Url": "https://localhost:9200",
"UserName": "elastic",
"Password": "jZEId2R6lR0r336uYbgb",
"IndexPrefix": "acme"
}
},
W celu skonfigurowania wyszukiwania należy określić następujące parametry:
- Enabled: (true/false) włącza lub wyłącza funkcjonalność.
- MaxQueryResults: maksymalna liczba zwracanych wyników wyszukiwania.
- Url: adres URL używanej instancji silnika Elasticsearch.
- UserName: nazwa użytkownika używana w komunikacji z silnikiem ES (domyślnie elastic).
- Password: hasło używane w komunikacji z silnikiem ES (generowane automatycznie podczas pierwszego uruchomienia ES).
- IndexPrefix: przedrostek dodawany do indeksów tworzonych w silniku ES dla danej witryny nAxiom, oprócz niego dodawany jest także przedrostek tenanta (kod tenanta); każda witryna nAxiom tworzy dwa indeksy w silniku ES: IndexPrefix-TenantCode-document-attachmens oraz IndexPrefix-TenantCode-document-fields
Indeksowanie może także obejmować dokumenty i załączniki dodawane przy użyciu żądań Public API, pod warunkiem dodania identycznych wpisów w pliku appsettings.json tego serwisu.
Konfiguracja w TenantsAdminSPA
Dodatkowe kroki należy wykonać w konfiguracji poszczególnych tenantów. Obejmują one:
- włączenie funkcji wyszukiwania w ustawieniach systemu (AdminSPA >
Ustawienia systemu
>Ogólne
>Włącz wyszukiwarkę
), - określenie rozszerzeń nazw plików załączników, których treść ma być indeksowana.
Drugi krok wykonuje się w aplikacji TenantsAdminSPA na karcie Configuration
w ustawieniach tenanta. Rozszerzenia określa się jako elementy tablicy IndexableFileExtensions w pliku JSON w polu Settings
.

Silnik Elasticsearch do analizy zawartości plików wykorzystuje pakiet Apache Tika, który zawiera parsery umożliwiające wyodrębnienie treści i metadanych z wielu rodzajów dokumentów (patrz https://tika.apache.org/2.9.1/formats.html). Najważniejsze obsługiwane formaty to:
- Microsoft Office (zarówno starsze OLE2, jak i nowsze OOXML),
- OpenDocument Format (ODF, pakiet OpenOffice.org),
- PDF,
- RTF,
- TXT (dowolne kodowanie),
- HTML,
- XML,
- różne formaty wiadomości e-mail, między innymi MS Outlook PST i MSG.
W przypadku formatów opartych na języku znaczników, jak HTML czy XML, znaczniki nie są indeksowane. Ponadto pakiet Tika pozwala także wyodrębniać metadane z plików audio, wideo i obrazów — te funkcjonalności nie zostały na razie zaimplementowane w nAxiom.
Konfigurując rozszerzenia, należy pamiętać, że muszą one zostać dodane jako dozwolone rozszerzenia załączników w ustawieniach systemu lub w definicji kategorii załączników.

Konfiguracja w TenantsAdminSPA
Po włączeniu wyszukiwania w aplikacji FrontSPA na pasku nagłówka jest wyświetlane pole wyszukiwania. Domyślnie wyszukiwane są ścisłe dopasowania do dowolnego członu frazy wyszukiwania. Można używać znaków wieloznacznych: ? zamiast dowolnego jednego znaku i * zamiast dowolnego ciągu znaków. Aby wyszukać wystąpienie całej frazy wyszukiwania, należy ująć ją w cudzysłowy (”“).
Po kliknięciu ikony ustawień wyszukiwania można określić zakres wyszukiwania pod względem rodzaju dokumentów:
- dokumenty (wartości w indeksowanych polach)
- załączniki
- komentarze
- rozpoznane pliki OCR
oraz statusu dokumentów:
- aktywne,
- archiwalne,
- usunięte.
Ponadto można określić zakres dat utworzenia przeszukiwanych dokumentów.

Powiązane tematy: