BoxLang 🚀 A New JVM Dynamic Language Learn More...
Apache License, Version 2.0.
Via CommandBox: install cbelasticsearch
The elasticsearch module for the Coldbox Platform provides you with a fluent search interface for Elasticsearch, in addition to a CacheBox Cache provider and a Logbox Appender. Both the cache provider and logbox appender rely on Wirebox DSL mappings to the Elasticsearch client. As such additional Wirebox configuration is necessary to use them outside of the Coldbox context.
Note: Most of the REST-based methods will work on Elasticsearch versions older than v5.0. A notable exception is the multi-delete methods, which use the delete by query functionality of ES5. As such, Cachebox and Logbox functionality would be limited.
Read the full documentation for the module and its capabilites at cbelasticsearch.ortusbooks.com
Copyright Since 2005 ColdBox Framework by Luis Majano and Ortus Solutions, Corp www.coldbox.org | www.luismajano.com | www.ortussolutions.com
Because of His grace, this project exists. If you don't like this, then don't read it, its not for you.
"...but we glory in tribulations also: knowing that tribulation worketh patience; And patience, experience; and experience, hope: And hope maketh not ashamed; because the love of God is shed abroad in our hearts by the Holy Ghost which is given unto us. ." Romans 5:5
"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
onLogstashEntryCreate
interception point, to allow influencing and additions to final log objectmode
argument to client saveAll
method to allow for a create
mode to be used for data streamsfield
argument to getMappings
client method, which allows for wildcard search and filtering of mappings ( e.g. (GET) /logs-coldobx-*/_mapping/*application
)labels
property to Logstash Appender properties to allow for custom labelslabels
convention to Logstash Appender UserInfo UDF to allow keyword label filteringAppenderService
object which allows for easier creation of detached appenders and index-specific loggingElasticsearch server responded with [504 Gateway Timeout]. The response received was not JSON.
.addRuntimeMapping()
method for mapping runtime fields at search timereason
key.asyncTimeout
setting with default of 5000mstext
to ensure search scoring abilityasync
property to LogstashAppenderindexTemplatePriority
property to logstash appender to prevent conflicts with multiple log streams sharing the same stream patterndeleteById()
getTermVectors
to SearchBuilder and Client to allow for fetching term vectors on document field(s)startRows
/maxRows
properties due to compat issues with existing appsgetTermsEnum
to client to allow for fetching autocompletion terms and picklistsset
method to SearchBuilder to allow for ad-hoc body parametersfilterRange
method to allow compatibility when used with filterTerms
and filterTerm
startRows
/maxRows
properties in search builder to from
/size
to better match ES query syntax. Adds custom setStartRows
and setMaxRows
methods which pass through.refreshIndex
method to the client to perform full refreshes of index dataformatToPainless
utility script in the Util component to remove whitespace from painless scriptsgetIndexStats
method to client for more informational stats on indexesthrowOnError
property to logstash appender to allow transmission errors to ES to fail quietlygetAliases
now supports multiple indexes with the same alias and returns the attributes to determine r/w capabilitiesgetSettings
method to retreive settings for a server or for an indexgetMappings
method to retreive mappings for an indexget
methodfilterRange
method to SearchBuilder
IndexBuilder
delete
methodSearchBuilder
sort
methodLogstashAppender.cfc
cfmigrations
migration manager ( models.migrations.Manager
)patch
method to client to allow for partial document updatesdeleteById
method to client to prevent overhead of Document-based deletions when identifier and index are knownpatch
method to IndexBuilder.cfc
which provides a more intuitive API for partial updates to indices and settingsprocessBulkOperation
method for performing bulk operations with multiple actionsfilterTerms
query DSL generationcollapseToFields
method to the search builder to support documents grouped on a specific field.filterTerm
and filterTerms
and pass multiple values to filtertype
keywildcard
method to Search builder for wildcard searches on keyword-mapped fieldsdeleteMapping
method in the main client, as it is no longer supported in ES versions 6.5 and up.cbelasticsearch-jest
module.cbElasticsearchPreSave
and cbElasticsearchPostSave
interceptions when saving individual or bulk documentsmyDocument.setPipeline( 'my-pipeline' )
)myDocument.addParam( 'refresh', true )
)client.saveAll( documents, false, { "refresh" : true } )
)suggestTerm
, suggestPhrase
, and suggestCompletion
for auto-completion and auto-suggestion queriesfilterTerm
and filterTerms
to return the builder instance ( Issue #43 )setValue
method to return instance, for method chaining ( Issue #40 )reindex
methodparam( name, value )
supporting method to the SearchBuilderwhile( !task.isComplete() )
)deleteByQuery
and updateByQuery
to return the full API response which may be inspected or used to follow-up on tasksgetAllTasks()
method in the client, which will return an array of Task objectsgetTask
method in the client to retreive tasks by identifier ( e.g. - [node]:[id]
).getIndices
method in the client to retreive a map of indices with statsgetAliases
method in the client to retreive a map of aliasesreindex()
method in the client which allows the ability to reindexmustExist
and mustNotExist
methods to the SearchBuilderterm
and filterTerms
SearchBuilder methods to allow for more precise filteringfilterTerm
method which allows restriction of the search contexttype
and minimum_should_match
parameters to multiMatch
method in SearchBuildershould
or filter
clauses_source
excludes and includes in a queryreadTimeout
and connectionTimeout
settingsdefaultCredentials
settingfilterTerms()
method to allow an array of term restrictions to the result set
$
box install cbelasticsearch