Przeskocz do opisu głównego

Usługi zarządzania polami indeksu - CaseIndexerFieldsManager

Info
Dostępna jest definicja WADL pod adresem:
https://<nazwa_serwera_hgdb>[:port]/mercury-ws-app/restServices/CaseIndexerFieldsManagerRest.wadl

Przykład: https://testcluster.hgdb.io/mercury-ws-app/restServices/CaseIndexerFieldsManagerRest.wadl.

Usługa utworzona w celu wsparcia mechanizmów budowania zapytań. Zawiera on szereg metod pozwalających na pobieranie informacji o indeksowanych polach oraz ich statystykach. Poniżej znajduje się lista dostępnych metod wraz z ich opisami w podziale na kategorie funkcjonalne:

  • Pobieranie danych o typach pól
Metoda(Metoda HTTP)Opis
✅️getSearchTypes(POST)Pobranie typów wyszukiwania w indeksie Lucene związanych z definicją pola.
✅️getCategories(POST)Pobranie kategorii pól. Kategoria pola to opis pochodzenia pól. Jeżeli przejrzymy artykuł Indeks Lucene, to dowiemy się, że pola pochodzą z różnych struktur przechowywania obiektów spraw.
  • Pobieranie danych o polach w podziale na typy wyszukiwania
Metoda(Metoda HTTP)Opis
✅️getFieldsBySerachType(POST)pobranie listy pól dla konkretnego typu pola wyszukiwania.
  • Pobieranie danych o polach w podziale na kategorie pól
Metoda(Metoda HTTP)Opis
✅️getFields(POST)pobranie listy wszystkich pól indeksu w podziale na ich kategorie.
✅️getFieldsByCategory(POST)pobranie listy pól dla konkretnej kategorii.
✅️getFieldsByTypeCodes(POST)pobranie listy pól dla definicji/typu sprawy o podanym kodzie.
✅️getFieldsByTypeCodesAndCategory(POST)pobranie listy pól dla definicji/typu sprawy o podanym kodzie oraz dla danej kategorii.
✅️getFieldsByTypeIds(POST)pobranie listy pól dla definicji/typu sprawy o podanym kodzie.
✅️getFieldsByTypeIdsAndCategory(POST)pobranie listy pól dla definicji/typu sprawy o podanym identyfikatorze wersji typu oraz dla danej kategorii.
  • Pobieranie danych o polach dla pól złożonych
Metoda(Metoda HTTP)Opis
✅️getFieldsBySubFieldName(POST)pobranie listy pól dla pola sprawy nadrzędnej, którego definicją jest typ innej sprawy (podrzędnej).
✅️getFieldsBySubFieldNameAndTypeCode(POST)pobranie listy pól dla pola sprawy nadrzędnej, którego definicją jest typ innej sprawy (podrzędnej) dla danego kodu typu spraw.
  • Pobieranie statystyk pól
Metoda(Metoda HTTP)Opis
✅️getFieldsStatisticsByFieldName(POST)pobieranie statystyk pola o podanej nazwie. Opcjonalnie można podać wartość pola.

Pobieranie danych o typach pól

Przypadek użycia

Można wykorzystać do pobrania danych, które później wykorzystamy do budowania kryteriów w usługach pobierania danych o polach.

Usługi zwracają w odpowiedzi proste listy z nazwami typów wyszukiwania albo kategorii (struktura odpowiedzi):

ParametrOpisPrzykład wartości
errorCodeKod błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null . Informacje na temat danych zawartych w wartości tego parametru można uzyskać czytając artykuł Co oznacza wartość pola "errorCode"?null
errorMessageKomunikat błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null .null
bagLista wartości typu łańcucha znakowego - nazwy.[]

getSearchTypes

Pobranie listy nazw typów pól indeksu Lucene. Typy pól opisane zostały w artykule opisującym Indeks Lucene.

Stały wynik metody

Ogólnie rzecz biorąc lista jest stała, wynik zapytania jest stały dla danej wersji implementacji systemu Mercury DB (HgDB) 3.0, zatem można by było się pokusić by w naszych rozwiązaniach listę zdefiniować na stałe, zamiast zadawać zapytanie.

Metoda ma tylko jeden argumet wejściowy:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
Przykład żądania metody w postaci JSON dla usługi REST.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
}
}
Przykład odpowiedzi - lista typów pól indeksu Lucene
{
"errorCode": null,
"errorMessage": null,
"bag": [
"LongField",
"StringField",
"TextField",
"SubQuery",
"IntField",
"DateField",
"CompositeIdField",
"FloatField",
"DoubleField"
]
}

getCategories

Pobranie listy kategorii pól w indeksie Lucene związanych z definicją pola (zobacz Pola stałe/predefiniowane spraw). Przypomnijmy, że kategorie pól odpowiadają nazwom encji, z których pochodzą pola predefiniowane.

Stały wynik metody

Ogólnie rzecz biorąc lista kategorii pól predefiniowanych jest stała, wynik zapytania jest stały dla danej wersji implementacji systemu Mercury DB (HgDB) 3.0, zatem można by było się pokusić by w naszych rozwiązaniach listę zdefiniować na stałe, zamiast zadawać zapytanie.

Metoda ma tylko jeden argument wejściowy:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
Przykład żądania metody w postaci JSON dla usługi REST.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
}
}
Przykład odpowiedzi - lista kategorii typów pól stałych indeksu Lucene
{
"errorCode": null,
"errorMessage": null,
"bag": [
"Comment",
"TypeCode",
"QuickTask",
"TypeKind",
"TypeCase",
"GroupCase",
"Source",
"Case",
"CaseDocument",
"KtmNumber",
"Participant",
"InitStatus"
]
}

Pobieranie danych o polach w podziale na typy

Przypadek użycia

Załóżmy, że budujemy kreator zapytań. Wszystkie usługi wykorzystać możemy do mechanizmów podpowiadania jakiej nazwy pola użyć w konstruowanym zapytaniu.

Za pomocą metody getSearchTypes(POST) pobieramy listę typów wyszukiwania, a następnie możemy wykorzystać poniższe metody do pobrania danych pól indeksu Lucene dla danego typu wyszukiwania.

getFieldsBySerachType

Pobranie listy pól indeksu Lucene dla danego typu wyszukiwania. Typy wyszukiwania opisane zostały w artykule Indeks Lucene.

Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
searchTypeStringTakNazwa typu pola, dla którego lista pól ma zostać zaprezentowana. Zobacz opis typów pól Indeks Lucene."DateField"
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST. Pobieranie listy pól typu DateField.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"searchType": "DateField"
}

Parametry odpowiedzi metod pobierania danych o polach w podziale na typy

W odpowiedzi otrzymamy obiekt o następującej strukturze:

ParametrOpisPrzykład wartości
errorCodeKod błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Informacje na temat danych zawartych w wartości tego parametru można uzyskać czytając artykuł Co oznacza wartość pola "errorCode"?null
errorMessageKomunikat błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Zobacz również artykuł Co oznacza wartość pola "errorCode"?null
dtoObiekt IndexFieldSearchType z listą pól przywiązanych do danego typu wyszukiwania.{ "searchType": "DateField", "fields": [...] }

IndexFieldSearchType

Warstwy, w których użytyBusiness
RodzajObiekt biznesowy
Interfejs JavaSerializable, IFieldCollector
Implementacja Javapro.ibpm.mercury.lucene.indexers.api.IndexFieldSearchType
Implementacja DTOpro.ibpm.mercury.lucene.indexers.api.IndexFieldSearchType
Definicja XMLhgdb-lucene-indexers-3.0.xsd

Wynik wyszukiwania. Obiekt reprezentujący kategorię wraz z jej listą pól.

Pole XMLPole JSONOpisTypPrzykład wartości
searchTypesearchTypeTyp wyszukiwania, dla którego zwracane są pola.StringDateField
fieldfieldsLista wartości typu IndexField reprezentujących dane opisujące pola indeksu Lucene.List<IndexField>[{"name": "mrc_createDate", "type": "DateField", "complexity": "SIMPLE", "category": "Case", "searchType": "DateField"}, {"name": "mrc_updateDate", "type": "DateField", "complexity": "SIMPLE", "category": "Case", "searchType": "DateField"}]

IndexField

Warstwy, w których użytyBusiness
RodzajObiekt biznesowy
Interfejs JavaSerializable
Implementacja Javapro.ibpm.mercury.lucene.indexers.api.IndexField
Implementacja DTOpro.ibpm.mercury.lucene.indexers.api.IndexField
Definicja XMLhgdb-lucene-indexers-3.0.xsd

Element wyniku wyszukiwania. Jego zadaniem jest przesłanie minimalnej i jednocześnie wystarczająco dużej ilości danych jednoznacznie opisujących pole indeksu Lucene.

Pole XMLPole JSONOpisTypPrzykład wartości
fieldNamefieldNameNazwa pola.Stringmrc_createDate
-nameNazwa będąca podstawą utworzenia nazwy pola indeksu Lucene. Pole nie występuje w usługach SOAP.Stringmrc_createDate
searchTypesearchTypeTyp pola. Zobacz opis typów pól Indeks Lucene.StringDateField
alternateSearchTypesalternateSearchTypesAlternatywne typy wyszukiwania, dla których pole może być użyte.List<String>["DateField", "StringField"]
storestoreCzy pole jest przechowywane w indeksie. Wartość NO oznacza, że pole nie jest przechowywane w indeksie, a jego wartość jest obliczana na podstawie innych pól.StringNO
-paramNameNazwa parametru wykorzystywana do wyszukiwania w relacyjnej bazie danych. Może być puste, jeżeli pole nie jest parametrem sprawy - pole, na podstawie którego znajdziemy bezpośrednie powiązanie z podstawowymi informacjami definicji parametru. Dodatkowo pole jest wykorzystane do weryfikacji uprawnień. Pole nie występuje w usługach SOAP.Stringnull
-entityFieldNameNazwa pola w encji, jeżeli pole jest mapowane na pole encji. Pole nie występuje w usługach SOAP.Stringnull
categorycategoryKategoria pola, odpowiadająca nazwie encji, z której pochodzi pole. Zobacz opis kategorii pól Indeks Lucene.StringCase
recomendedLabelrecomendedLabelZalecana etykieta pola, jeżeli jest dostępna.Stringnull
sortedsortedCzy pole jest sortowane?Booleantrue albo false
complexitycomplexityZłożoność pola. Może przyjmować wartości SIMPLE (pole proste) lub SUBCASE (pole złożone, reprezentujące sprawę podrzędną).StringSIMPLE
Przykład obiektu IndexField w postaci JSON
{
"fieldName": "mrc_createDate",
"name": "mrc_createDate",
"searchType": "DateField",
"alternateSearchTypes": ["DateField", "StringField"],
"store": "NO",
"paramName": null,
"entityFieldName": null,
"category": "Case",
"recomendedLabel": null,
"sorted": false,
"complexity": "SIMPLE"
}

Przykład odpowiedzi metod metod pobierania danych o polach w podziale na typy

Przykład odpowiedzi metody getFieldsBySerachType(POST) na żądanie pobierania pól typu SubQuery
{
"errorCode": null,
"errorMessage": null,
"dto": {
"searchType": "SubQuery",
"fields": [
{
"fieldName": "acceptance",
"name": "acceptance",
"searchType": "SubQuery",
"alternateSearchTypes": null,
"store": "NO",
"paramName": null,
"entityFieldName": null,
"category": "Case",
"recomendedLabel": null,
"sorted": false,
"complexity": "SUBCASE"
},
{
"fieldName": "acceptor",
"name": "acceptor",
"searchType": "SubQuery",
"alternateSearchTypes": null,
"store": "NO",
"paramName": null,
"entityFieldName": null,
"category": "Case",
"recomendedLabel": null,
"sorted": false,
"complexity": "SUBCASE"
}
]
}
}

soapui_getFieldsBySerachType

Pobieranie danych o polach w podziale na kategorie pól

Przypadek użycia

Załóżmy, że budujemy kreator zapytań. Wszystkie usługi wykorzystać możemy do mechanizmów podpowiadania jakiej nazwy pola użyć w konstruowanym zapytaniu.

getFields

Pobranie listy wszystkich pól indeksu Lucene w podziale na ich kategorie. Kategoria pola to opis pochodzenia pól. Jeżeli przejrzymy artykuł Indeks Lucene, to dowiemy się, że pola pochodzą z różnych struktur przechowywania obiektów spraw. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST dla złożoności pola SUBCASE.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"complexity": "SUBCASE"
}

getFieldsByCategory

Pobranie listy pól dla konkretnej kategorii. Kategoria pola to opis pochodzenia pól. Jeżeli przejrzymy artykuł Indeks Lucene, to dowiemy się, że pola pochodzą z różnych struktur przechowywania obiektów spraw. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
categoryStringTakKategoria pola, dla której lista pól ma zostać zaprezentowana. Zobacz opis kategorii pól Indeks Lucene."Case"
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST dla kategorii Case o złożoności SUBCASE.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"category":"Case",
"complexity": "SUBCASE"
}

getFieldsByTypeCodes

Pobranie listy pól zdefiniowanych w indeksie Lucene przypisanych do zdefiniowanego typu obiektu sprawy, na podstawie jego kodu. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
typeCodesString[]TakLista kodów typów spraw, dla których lista pól ma zostać zaprezentowana. Zobacz opis encji kodów typów spraw TypeCode.["ElixAddress", "FsmTimeSlot"]
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST dla kodów typów spraw ElixAddress i FsmTimeSlot o złożoności SIMPLE.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"typeCodes":["ElixAddress", "FsmTimeSlot"],
"complexity":"SIMPLE"
}

getFieldsByTypeCodesAndCategory

Pobranie listy pól zdefiniowanych w indeksie Lucene przypisanych do zdefiniowanego typu obiektu sprawy, na podstawie jego kodu, wraz dodatkowym kryterium wskazującym na kategorię pola. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
typeCodesString[]TakLista kodów typów spraw, dla których lista pól ma zostać zaprezentowana. Zobacz opis encji kodów typów spraw TypeCode.["ElixAddress", "FsmTimeSlot"]
categoryStringTakKategoria pola, dla której lista pól ma zostać zaprezentowana. Zobacz opis kategorii pól Indeks Lucene."Case"
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST dla kodów typów spraw ElixAddress i FsmTimeSlot o złożoności SIMPLE i kategorii Case.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"typeCodes":["ElixAddress", "FsmTimeSlot"],
"category":"Case",
"complexity":"SIMPLE"
}

getFieldsByTypeIds

Pobranie listy pól zdefiniowanych w indeksie Lucene przypisanych do zdefiniowanego typu obiektu sprawy, na podstawie jego identyfikatora. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
typeIdsLong[]TakLista identyfikatorów typów spraw, dla których lista pól ma zostać zaprezentowana. Zobacz opis encji typów spraw TypeCase.[123344, 123345]
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST dla identyfikatorów typów spraw 123344 i 123345 o złożoności SIMPLE.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"typeIds":[123344, 123345],
"complexity":"SIMPLE"
}

getFieldsByTypeIdsAndCategory

Pobranie listy pól zdefiniowanych w indeksie Lucene przypisanych do zdefiniowanego typu obiektu sprawy, na podstawie jego identyfikatora, wraz dodatkowym kryterium wskazującym na kategorię pola. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
typeIdsLong[]TakLista identyfikatorów typów spraw, dla których lista pól ma zostać zaprezentowana. Zobacz opis encji typów spraw TypeCase.[123344, 123345]
categoryStringTakKategoria pola, dla której lista pól ma zostać zaprezentowana. Zobacz opis kategorii pól Indeks Lucene."Case"
complexityStringNieFiltrowanie listy pól po parametrze complexity1 reprezentującym złożoność pola. Argument może przyjmować jedną z następujących wartości: SIMPLE, SUBCASE, ALL. Jeżeli nie prześlemy żadnej wartości, domyślnie przyjmowana jest wartość SIMPLE."SIMPLE"
Przykład żądania metody w postaci JSON dla usługi REST dla identyfikatorów typów spraw 123344 i 123345 o złożoności SIMPLE i kategorii Case.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"typeIds":[123344, 123345],
"category":"Case",
"complexity":"SIMPLE"
}

Parametry odpowiedzi metod pobierania danych o polach w podziale na kategorie pól

W odpowiedzi otrzymamy obiekt o następującej strukturze:

ParametrOpisPrzykład wartości
errorCodeKod błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Informacje na temat danych zawartych w wartości tego parametru można uzyskać czytając artykuł Co oznacza wartość pola "errorCode"?null
errorMessageKomunikat błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Zobacz również artykuł Co oznacza wartość pola "errorCode"?null
map/dtoMapa, której kluczem jest nazwa reprezentująca kategorię pola. Wartość mapy reprezentuje lista obiekt IndexFieldCategory z listą pól przywiązanych do danej kategorii. Mapa może być pusta w przypadku gdy w systemie nie ma zdefiniowanego typu sprawy o podanym kodzie typu.{ "category": "Case", "fields": [...] }

IndexFieldCategory

Warstwy, w których użytyBusiness
RodzajObiekt biznesowy
Interfejs JavaSerializable, IFieldCollector
Implementacja Javapro.ibpm.mercury.lucene.indexers.api.IndexFieldCategory
Implementacja DTOpro.ibpm.mercury.lucene.indexers.api.IndexFieldCategory
Definicja XMLhgdb-lucene-indexers-3.0.xsd

Obiekt reprezentujący kategorię wraz z jej listą pól.

Pole XMLPole JSONOpisTypPrzykład wartości
categorycategoryKategoria pola, odpowiadająca nazwie encji, z której pochodzi pole. Zobacz opis kategorii pól Indeks Lucene.StringCase
fieldfieldsLista wartości typu IndexField reprezentujących dane opisujące pola indeksu Lucene.List<IndexField>[{"name": "mrc_createDate", "type": "DateField", "complexity": "SIMPLE", "category": "Case", "searchType": "DateField"}, {"name": "mrc_updateDate", "type": "DateField", "complexity": "SIMPLE", "category": "Case", "searchType": "DateField"}]
Przykład obiektu IndexFieldCategory w postaci JSON
{
"category": "Case",
"fields": [
{
"fieldName": "mrc_createDate",
"name": "mrc_createDate",
"searchType": "DateField",
"alternateSearchTypes": ["DateField", "StringField"],
"store": "NO",
"paramName": null,
"entityFieldName": null,
"recomendedLabel": null,
"sorted": false,
"complexity": "SIMPLE"
},
{
"fieldName": "mrc_updateDate",
"name": "mrc_updateDate",
"searchType": "DateField",
"alternateSearchTypes": ["DateField", "StringField"],
"store": null,
"paramName": null,
"entityFieldName": null,
"recomendedLabel": null,
"sorted": false,
"complexity": null
}
]
}

Przykład odpowiedzi metod metod pobierania danych o polach w podziale na kategorie pól

Przykład odpowiedzi metody getFieldsByCategory(POST) na żądanie pobierania pól dla kategorii Case
{
"errorCode": null,
"errorMessage": null,
"map": {
"Case": {
"category": "Case",
"fields": [
{
"fieldName": "mrc_createDate",
"name": "mrc_createDate",
"searchType": "DateField",
"alternateSearchTypes": ["DateField", "StringField"],
"store": "NO",
"paramName": null,
"entityFieldName": null,
"recomendedLabel": null,
"sorted": true,
"complexity": "SIMPLE"
},
{
"fieldName": "mrc_updateDate",
"name": "mrc_updateDate",
"searchType": "DateField",
"alternateSearchTypes": ["DateField", "StringField"],
"store": null,
"paramName": null,
"entityFieldName": null,
"recomendedLabel": null,
"sorted": true,
"complexity": "SIMPLE"
}
]
}
}
}

soapui_getFieldsByTypeCodes

Pobieranie danych o polach złożonych

Przypadek użycia

Załóżmy, że budujemy kreator zapytań. Wszystkie usługi wykorzystać możemy do mechanizmów podpowiadania jakiej nazwy pola użyć w konstruowanym zapytaniu.

Pobieranie danych o polach dla pól złożonych wskazujących na sprawy podrzędne.

getFieldsBySubFieldName

Metoda pobierająca definicje pól indeksu Lucene dla pól złożonych, których reprezentacja zdefiniowana jako sprawa zależna. Listę pól złożonych można pobrać za pomocą metody getFieldsByCategory(POST) ustawiając argumenty żądania "category": "Case" oraz "complexity": "SUBCASE". Parametry wejściowe żądania są następujące:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
fieldNameStringTakNazwa pola, dla którego lista pól ma zostać zaprezentowana. Pole musi być polem złożonym, reprezentującym sprawę podrzędną."address"
Przykład żądania metody w postaci JSON dla usługi REST. Pobieranie danych o pólu złożonym o nazwie address.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"fieldName":"address"
}

getFieldsBySubFieldNameAndTypeCode

Metoda pobierająca definicje pól indeksu Lucene dla pól złożonych, których reprezentacja zdefiniowana jako sprawa zależna. Wynik zawężamy do typu o podanym kodzie, w których to pole występuje. Listę pól złożonych można pobrać za pomocą metody getFieldsByTypeCodesAndCategory(POST) ustawiając odpowiednio argumenty żądania "typeCodes": ["kod_typu"], "category": "Case" oraz "complexity": "SUBCASE" (gdzie kod_typu, to kod typu obiektu spraw, który nas interesuje).

Uwaga

W systemie może być wiele definicji pól o tej samej nazwie reprezentowanych przez inny typ złożony. Przykład: W definicji typu sprawy o kodzie Employee może być pole address, którego definicja zawiera pola: street, postCode, city. W innej definicji typu sprawy, o innym kodzie np. Company, pole o nazwie address zawiera pola: mainStreet, postCode, mainCity, country. Warto zatem używać tej metody, by nie popełnić błędu podczas budowania zapytania, którego celem będzie znalezienie sprawy typu Employee, a w kryterium wyszukiwania użyjemy pola address.mainStreet, które odpowiada typowi Company.

Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
fieldNameStringTakNazwa pola, dla którego lista pól ma zostać zaprezentowana. Pole musi być polem złożonym, reprezentującym sprawę podrzędną."address"
typeCodeStringTakKod typu sprawy, dla którego lista pól ma zostać zaprezentowana. Pole musi być polem złożonym, reprezentującym sprawę podrzędną."Employee"
Przykład żądania metody w postaci JSON dla usługi REST. Pobieranie danych o polu złożonym o nazwie address dla typu sprawy o kodzie Employee.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"fieldName":"address",
"typeCode":"Employee"
}

Parametry odpowiedzi metod pobierania danych o polach złożonych

W odpowiedzi otrzymamy obiekt o następującej strukturze:

ParametrOpisPrzykład wartości
errorCodeKod błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Informacje na temat danych zawartych w wartości tego parametru można uzyskać czytając artykuł Co oznacza wartość pola "errorCode"?null
errorMessageKomunikat błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Zobacz również artykuł Co oznacza wartość pola "errorCode"?null
mapMapa, której kluczem jest nazwa reprezentująca kategorię pola. Wartość mapy reprezentuje lista obiekt IndexFieldCategory z listą pól przywiązanych do danej kategorii. Mapa może być pusta w przypadku gdy w systemie nie ma zdefiniowanego typu sprawy o podanym kodzie typu.{ "category": "Case", "fields": [...] }

Przykład odpowiedzi metod metod pobierania danych o polach złożonych

Przykład odpowiedzi metody getFieldsBySubFieldNameAndTypeCode(POST) na żądanie pobierania pól złożonych dla pola address i typu sprawy o kodzie Employee
Strona w budowie

Strona jest w budowie i nie zawiera jeszcze wszystkich informacji. Proszę o cierpliwość. Obecnie zgłoszono problem #180 Problem z niektórymi metodami w usłudze CaseIndexerFieldsManagerAction. Przykład zostanie uzupełniony po rozwiązaniu problemu.

soapui_getFieldsBySubFieldNameAndTypeCode

Pobieranie statystyk pól

Przypadek użycia

Statystyka pola może być przydatna podczas tworzenia mechanizmów optymalizacji zapytań, które wysyłane są do systemu.

getFieldsStatisticsByFieldName

Metoda pobiera statystykę dla danego pola i opcjonalnie dla jego wartości. Metoda ma następujące argument wejściowe:

Nazwa parametruTypWymagany?OpisPrzykład wartości
contextContextTakKontekst żądania. Więcej na temat kontekstu znajdziesz w artykule Kontekst żądania usług SOAP/REST.{ "appName": "mercury-ws-app", "appVersion": "0.0.1", "userName": "ttesteusz", ... }
fieldNameStringTakNazwa pola, dla którego lista pól ma zostać zaprezentowana."address"
fieldValueStringNieWartość pola (termin) - statystyka pola będzie zawężona do wartości jaka jest przechowywania w polu. Jeżeli nie podamy wartości użyta będzie domyślna wartość *, która reprezentuje dane mówiące o tym, że mają być wzięte wszystkie.

⚠️  Statystyka wartości pola może być wyznaczana tylko dla pól nie numerycznych. Dla pól numerycznych (liczbowych) podana wartość zostanie zignorowana i zostanie podana ogólna statystyka pola.
"*"
Przykład żądania metody w postaci JSON dla usługi REST. Pobieranie statystyk pola mrc_typeCodeName.
{
"context": {
"appName": "mercury-ws-app",
"appVersion": "1.0",
"userName": "anonymous",
"comment": null,
"maxResults": 10000,
"queryTimeout": 2147483647,
"locale": "pl_PL",
"timeZone": "Europe/Warsaw",
"userFullName": null,
"eager4omdBuilder": "true",
"trustedData": false,
"ignoredCustomFields": null,
"currentRole": null,
"userRoles": null,
"sourceOfRequest": "USER_DEV.localhost",
"rootVersionContextID": null,
"rootTagName": null,
"directRequest": false,
"formats": {
"date.format.long": "dd-MM-yyyy HH:mm:ss XXX"
},
"ignoreAlternateFields": true,
"decodeResult": "DATE_AND_LOB",
"maxDepthResult": 3,
"decodeRequest": "DATE_AND_LOB",
"ignoreCaseHeaderInResponse": true,
"cacheUsage": "REFRESH",
"httpResponseCacheUsage": "NONE",
"defaultLuceneSortClause": null,
"viewDefinition": null
},
"fieldName": "mrc_typeCodeName",
"fieldValue": "geoaddressregister"
}

Parametry odpowiedzi metod pobierania statystyk pól

W odpowiedzi otrzymamy obiekt o następującej strukturze:

Pole XMLPole JSONOpisPrzykład wartości
errorCodeerrorCodeKod błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Informacje na temat danych zawartych w wartości tego parametru można uzyskać czytając artykuł Co oznacza wartość pola "errorCode"?null
errorMessageerrorMessageKomunikat błędu. Gdy operacja zakończy się sukcesem, przyjmuje wartość null. Zobacz również artykuł Co oznacza wartość pola "errorCode"?null
itembagIndexFieldStatistics reprezentuje obiekt z danymi statystyk pola.[{ "fieldName": "mrc_typeCodeName", "currentTerm": "geoaddressregister", "serachType": "StringField", "docCount": 1060843, "maxValue": "zpitriodatenegotiation", "minValue": "0", "sumDocFreq": 45402, "sumTotalDocFreq": -1}]

IndexFieldStatistics

Warstwy, w których użytyBusiness
RodzajObiekt biznesowy
Interfejs JavaSerializable
Implementacja Javapro.ibpm.mercury.lucene.indexers.api.IndexFieldStatistics
Implementacja DTOpro.ibpm.mercury.lucene.indexers.api.IndexFieldStatistics
Definicja XMLhgdb-lucene-indexers-3.0.xsd

Element wyniku wyszukiwania. Jego zadaniem jest przesłanie danych statystyk pola indeksu Lucene.

Pole XMLPole JSONOpisTypPrzykład wartości
fieldNamefieldNameRzeczywista nazwa pola indeksu Lucene pod jaka jest przechowywana wartość. Nazwa ta nie jest widoczna dla API Mercury DB (HgDB) i nie może być wykorzystywana w do budowania zapytań. Nazwy te wykorzystywane są niejawnie przez zaimplementowany w HgDB parser zapytań oraz ich egzekutor. Nazwy te można wykorzystać w zewnętrznych narzędziach pozwalających na bezpośrednią analizę zawartości indeksu jak np. Luke.
Nazwy te posiadają sufiksy w stosunku nazewnictwa pól wykorzystywanych w zapytaniach. Wszystko po to, by obsłużyć różne typy pól (alternatywne typy pól) o tych samych nazwach. Używane są następujące sufiksy:
  • _S - pole obsługujące typ wyszukiwania StringField
  • _N - pole obsługujące numeryczne typy wyszukiwania oraz DateField
  • _T - pole obsługujące typ wyszukiwania TextField
Stringdescription
currentTermcurrentTermBieżący termin (wyszukiwana wartość), na podstawie którego wyznaczona została statystyka pola. Jeżeli pole nie przyjmie żadnej wartości, lub znak *, to statystyka będzie dotyczyć wszystkich wyrażeń zaindeksowanych w danym polu.

⚠️ Pole nie przyjmuje żadnej wartości dla pól numerycznych, dla których wyznaczyć możemy tylko statystyki ogólne.
StringPrzykład: słowo
serachTypeserachTypeTyp wyszukiwania w indeksie Lucene.StringZobacz opis w Typy pól indeksu Lucene.
docCountdocCountZwraca liczbę dokumentów, które mają co najmniej jedną wartość dla danego pola indeksu lub -1, jeśli ta miara nie jest przechowywana przez index.
Przykład dla pola dokumentu description w indeksie Lucene znajdują się następujące wpisy:
  • doc[1].description = "To jest słowo, którego wypowiedzieć nie możesz."
  • doc[2].description = "A zatem będę milczał."
  • doc[3].description = "Chociaż to słowo... korci by wypowiedzieć to słowo. To jedno słowo to XXXXXX."
  • doc[4].description = "To już koniec."
  • doc[5].description = "To już koniec. Nie ma już nic."
Dla powyższego przykładu i terminu słowo wartość statystyki będzie to liczba dokumentów z danym, niepustym, polem description czyli 5.
Dla wszystkich terminów będzie to również liczba 5.

⚠️ Zwróć uwagę, że statystyka niestety nie uwzględnia usuniętych dokumentów.
Long100
maxValuemaxValueMaksymalna wartość pola, jaką przyjmuje.

🛈 Przypadek użycia: Można wykorzystać tę wartość do analizy czy warto wykonywać zapytanie. Skoro kryterium zapytania zadane przez użytkownika/klienta nie spełnia wartości maksymalnej pola, jest większe od danej wartości, to można zarzucić realizację wyszukiwania i zwrócić pusty wynik.
StringPole przyjmuje postać String reprezentując wszystkie typy danych z numerycznymi włącznie.
minValueminValueMinimalna wartość pola, jaką przyjmuje.

🛈 Przypadek użycia: Można wykorzystać tę wartość do analizy czy warto wykonywać zapytanie. Skoro kryterium zapytania zadane przez użytkownika/klienta nie spełnia wartości maksymalnej pola, jest większe od danej wartości, to można zarzucić realizację wyszukiwania i zwrócić pusty wynik.
StringPole przyjmuje postać String reprezentując wszystkie typy danych z numerycznymi włącznie.
sumDocFreqsumDocFreqZwraca liczbę dokumentów zawierających bieżący termin (wyszukiwana wartość) dla tego pola lub -1, jeśli ta miara nie jest przechowywana przez index.
Przykład dla pola dokumentu description w indeksie Lucene znajdują się następujące wpisy:
  • doc[1].description ="To jest słowo, którego wypowiedzieć nie możesz."
  • doc[2].description ="A zatem będę milczał."
  • doc[3].description ="Chociaż to słowo... korci by wypowiedzieć to słowo. To jedno słowo to XXXXXX."
  • doc[4].description ="To już koniec."
  • doc[5].description ="To już koniec. Nie ma już nic."
Dla powyższego przykładu i terminu słowo wartość statystyki będzie 2.
Dla wszystkich terminów będzie to liczba dokumentów 5.

⚠️ Zwróć uwagę, że statystyka niestety nie uwzględnia usuniętych dokumentów.
Long100
sumTotalDocFreqsumTotalDocFreqZwraca całkowitą liczbę wystąpień tego terminu (wyszukiwanej wartości) we wszystkich dokumentach (suma freq() dla każdego dokumentu zawierającego ten termin) dla tego pola lub -1, jeśli ta miara nie jest przechowywana przez index.
Przykład dla pola dokumentu description w indeksie Lucene znajdują się następujące wpisy:
  • doc[1].description ="To jest słowo, którego wypowiedzieć nie możesz."
  • doc[2].description ="A zatem będę milczał."
  • doc[3].description ="Chociaż to słowo... korci by wypowiedzieć to słowo. To jedno słowo to XXXXXX."
  • doc[4].description ="To już koniec."
  • doc[5].description ="To już koniec. Nie ma już nic."
Dla powyższego przykładu i terminu słowo wartość statystyki będzie 4.
Dla wszystkich terminów będzie to suma wszystkich wyrażeń o długości powyżej 2 znaków czyli 33.

⚠️ Zwróć uwagę, że statystyka niestety nie uwzględnia usuniętych dokumentów.
Long33
Przykład obiektu IndexFieldStatistics w postaci JSON
{
"fieldName": "advanceAmountSum_N",
"currentTerm": "*",
"serachType": null,
"docCount": 57,
"maxValue": "471819,45",
"minValue": "0",
"sumDocFreq": 57,
"sumTotalDocFreq": 57
}
Format liczby

Dla pól typu wyszukiwania numerycznego wartości pól maxValue oraz minValue w postaci łańcucha reprezentuje wartość liczbową. Pamiętaj, że formatem liczby możesz sterować odpowiednio definiując parametry obiektu context w żądaniu (zobacz opis Kontekst żądania usług SOAP/REST).

image2022-6-20_22-36-34

Przykład odpowiedzi metod metod pobierania statystyk pól

Przykład odpowiedzi metody getFieldsStatisticsByFieldName(POST) na żądanie pobierania statystyk pola mrc_typeCodeName.
{
"errorCode": null,
"errorMessage": null,
"bag": [{
"fieldName": "mrc_typeCodeName",
"currentTerm": "geoaddressregister",
"serachType": "StringField",
"docCount": 1054531,
"maxValue": "zpitriodatenegotiation",
"minValue": "bpmbpdinstance",
"sumDocFreq": 45402,
"sumTotalDocFreq": -1
}]
}

Footnotes

  1. Opis znaczenia poszczególnych wartości parametru complexity:

    • SIMPLE - prześlij tylko pola proste.
    • SUBCASE - prześlij tylko pola złożone, reprezentowane przez definicję sprawy podrzędnej.
    • ALL - prześlij wszystkie pola, niezależnie od ich złożoności.
    2 3 4 5 6 7