EZ Search funciona con el índice de texto Bleve. Explique como API REST para ingerir datos de cualquier sistema externo. El motor de análisis SQL ayuda a explorar datos indexados utilizando la consulta SQL Seleccionar * de índices/indexname
Puede usar el comando Go Build para distribuir a cualquier sistema operativo después de cambiar la variable GO ENV. Por ejemplo, si desea implementar en Windows Machine, configure "Goos = Windows" y ejecute Go Build que generaría el archivo ejecutable EZ-Search.exe
Después de visitar, ejecute la aplicación desde su máquina local utilizando el siguiente comando. Configuración de API REST local [Go Run. Main.go -c config.json -wd c: go -prj ez -search] Puede proporcionar cualquier número de puerto para config.json debe estar disponible en la carpeta raíz.
Post Man Collections está disponible en la carpeta raíz. Para ingerir datos de índice, use la API REST a continuación
{{BaseUrl}}/API/AddorUpdate? IndexName = Indexes/WinEvent- {2006-01-02} & indexTrandate = 2022-05-10
Admite el patrón de índice basado en la fecha. En caso de que desee crear un índice separado diario, entonces debe IndexName {2006-01-02}, en caso de que anual sea IndexName {2006}
Obtenga los datos indexados Use la siguiente llamada API. [post] http: // localhost: 8015/api/búsqueda
Por defecto, el esquema se crea automáticamente cuando llama a la API de ingesta. Recomiende crear un esquema primero que ayude a consultar los tipos de hora de fecha utilizando la cláusula de consulta SQL.
Tipo de campo de esquema [bool | text | date | numérico | geOpoint] muestra de esquema de esquema muestra json [{"nombre": "nombre", "tipo": "text"}, {"nombre": "inicio", "tipo": "fecha"}, {"nombre": "edad", "tipo": "numérico"}}] de 10 años en el rango de fechas contra el campo de la fecha lanzada [10 360 60 24 60 Cay 60 Cay 60] 60] 60]
Alcance de campo Puede calificar el campo para estas búsquedas prefijándolas con el nombre del campo separado por un colon. [Nombre: RAM] La lógica del campo de análisis está a [:] el nombre del campo "Nombre" y "RAM" debería coincidir en el documento de índice. Se aplicaría como consulta de coincidencia [ID de selección, nombre, edad de IndexName donde Nombre: Ram, edad:> 40,+edad: <= 50, StartDT> 2022-01-01T01: 01: 00Z Nombre de las facetas Límite 1, 10]
Los términos consulta en la condición de la condición si el nombre archivado se perdió, construya automáticamente la consulta del término en la consulta a continuación "RAM" buscará cualquier documento utilizando la consulta de término que significa encontrar la "RAM" en cualquier lugar del documento en todos los campos de texto [Seleccionar ID, nombre, edad de IndexName Where RAM, Age:> 40,+Age: <= 50, StartDt> 2022-01-01T01: 01: 00z de 00z Nombre de los opciones 1, 10, 10]
Expresiones regulares Puede usar expresiones regulares además de usar términos envolviendo la expresión en barras de avance (/). [Nombre:/r*/] En la parte del valor comienza con la barra de reenvío, luego aplique la consulta regex [seleccione ID, nombre, edad de IndexName donde nombre:/r*/, edad:> 40,+edad: <= 50, startdt> 2022-01-01T01: 01: 00z Facetas Nombre Límite 1, 10]]
Requerido, opcional y exclusión cuando su cadena de consulta incluye múltiples elementos, de forma predeterminada, estos se colocan en la cláusula debería ser una consulta booleana. Puede cambiar esto prefijando sus elementos con un "+" o "-". El prefijo "+" con lugares más ese artículo en la porción imprescindible de la consulta booleana. El "-" prefijo con un lugar menos que el artículo no debe por parte de la consulta booleana. [Seleccione ID, nombre, edad de IndexName donde Nombre: Ram, edad:> 40,+edad: <= 50, StartDT> 2022-01-01T01: 01: 00z Facetas Nombre Límite 1, 10]
Rangos numéricos / de fecha Puede realizar rangos utilizando los operadores>,> =, <y <= <=, seguido de un valor numérico / de fecha y hora válido.
Escapar de la siguiente cadena citada enumera los caracteres que pueden escaparse:
[+-= & |> <! () {} []^"~*?: /] Nota: Esta lista contiene el carácter de espacio.
Para escapar de estos personajes, tienen el prefijo del carácter (barra invernal). En todos los casos, el uso de la versión escapada produce el personaje en sí y no es interpretado por el Lexer.
Ejemplo: "My Name" se interpretará como un argumento único para una consulta de coincidencia con el valor "mi nombre".
Ejemplo: "Contiene {un" carácter} se interpretará como un solo argumento para una consulta de frase con el valor contiene {a "carácter}.
El campo de fecha se forma y se convierte en la zona horaria de UTC. Examaple 2022-02-19T20: 49: 03Z Golang Format es [2006-01-02T15: 04: 05Z] que es igual a [aaa yyy-mm-ddthh: mm: ssz] mientras se busca debe seguir el mismo formato.
Configuración de registro "logGersettings": {"AppLogIndExpath": "indexes/aplags- {2006-01-02}", creación de documentos de índice "EnableConsOlLog": true,-> Establecer True Write Logs en Console "EnableteTinExLog": True,--Set True WRITES logue De lo contrario, los registros se registran en el nombre del archivo especificado en la carpeta root de los registros "Loglevel": "Depurar"},
Swagger JSON Generator Ayuda para construir REST Swagger Document Generation New Path swag.exe init . y copie el archivo JSON en la copia de la carpeta Swagger-UI .docsswagger.json .swagger-ui
.codege.exe ] Asegúrese de que las carpetas requieran archivos de definición XML están disponibles en la carpeta CodeDef. Generador de código siempre buscando carpeta CodeDef -Modo de versión go build -ldflags "-s -w"--Event Queue para Delete Old Index Documents {"Id": "Dellogs", "EventType": "Dellogs", "EventData": "{" nodays ": 15," IndexNameKey ":" schedleJob.delete_logs.key "}", "estado": 1, "startat": "2022-07-02t11: 04: 29z", 29z ", 29z", 29z ", 29z", 29z ", 29z", 29z ", 29z", 29z ". "retryCount": 0, "retryRMax": 5, "retryDuraition": 0, "Mensaje": "", "isActive": "t", "createdat": "", "actualizado": "", "recurringInseconds": 86400, "dastSyncat": "," Timetaken ": 0}
--Event Queue obtiene datos de mssql ezmssqlconn readme.txt script para registrar los eventos ref eventdata json {"host": "servidor", "dbname": "mbaweb", "dastSyncat": "2000-01-01", "goscriptblock": {"goscriptkey": "mac.mba75.Goscript.distnumloop", "QueryKey": "Mac.mBa75.Customer.Query", "Distnumke" y ":" Mac.mba75.distnum.list "," Params ": [" 2000-01-01 "]}," docidcolname ":" "," indexName ":" indexes/mac/mba75/científicos "," username ":" macUser "," contraseña ":" t001sm@"," saveonlocal ":" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "". "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ". {"id": "Mac.mba75.Customer", "EventType": "MSSQL", "EventData": "{" host ":" servidor "," dbname ":" mbaweb "," dastSyncat ":" 2000-01-01 "," goscriptblock ": {" goscriptkey ":" mac.mba75.Goscript.distnumloop "," QueryKey ":" Mac.mba75.customer.Query "," Distnumkk ey ":" Mac.mba75.distnum.list "," params ": [" 2000-01-01 "]}," docidcolname ":", "indexName": "indexes/mac/mba75/científicos", "username": "{user}", "contraseña": "{pwd}}", "saveonlocal": "},"} ","} ":" saveonlocal ":" saveonlOn "Estado": 1, "Startat": "2022-07-02t11: 04: 29z", "RetRyCount": 0, "RelyMax": 5, "RetryDuraition": 0, "Message": "," IsActive ":" T "," Creatat ":" "," Updateat ":", "RecurrenSeconds": 86400, "LastSyCat", "LastSycat": " "", "Timetaken": 0}