Skip to main content Link Menu Expand (external link) Document Search Copy Copied

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.

Informacje o wdrożeniu Elasticsearch
Informacje o wdrożeniu 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.

Indeksowane pliki załączników
Indeksowane pliki załączników

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.

Wyniki wyszukiwania
Wyniki wyszukiwania

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.

Ustawienia wyszukiwania
Ustawienia wyszukiwania
|← Budowanie i debugowanie aplikacji nAxiom |↑ Do góry |→ Smart numbers |

Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.