Your question is on the wide side - so this is a pointer to some parameters.
Elastic search is used to query the database and analyze data.
In the article Obsolete Rivers :
Client Libraries
For over a year now, we have official client libraries for Elasticsearch in most programming languages. This means that connecting to your application and retrieving data through an existing code base should be relatively simple. This method also makes it easy before you get into Elasticsearch. A common example is an application that has already used ORM to map a domain model to a database, and binding and indexing a domain model before Elasticsearch tends to be easy to implement.
Extensive documentation is available on how to use elastic search in:
Elasticsearch.Net .
The documents will indicate the following:
Install Package:
PM> Install-Package Elasticsearch.Net
Compound
var node = new Uri("http://mynode.example.com:8082/apiKey"); var config = new ConnectionConfiguration(node); var client = new ElasticsearchClient(config);`
Security
Consolidation and fault tolerance
Building requests
This is what you will need to develop.
Response Processing
Error processing
Plugins
Logstash can also be used instead of the rivers from which various plugins were developed.
In addition, Logstash or similar tools can be used to send data to Elasticsearch. For example, some of the Elasticsearch rivers came with now implemented as Logstash plugins (like CouchDB) in the upcoming Logstash 1.5.
Additional reading
Although it’s a different language and structure, the Advanced Search blog is for your legacy David Pilato app and the information may be useful to view. He recommends doing this at the application level.
To fix problems from the comments.
Track data changes .
SQL Server provides an embedded system for tracking data changes, an effective tool for automatically tracking data changes without the need for manual methods for checking for changes.
There are two ways to do this:
Using Change Data Capture :
Data changes are tracked with time stamps. You can track the history of data changes.
A data capture change provides information about historical changes to the user table, capturing both the fact that DML changes have been made and the actual data that has been changed. Changes are committed using an asynchronous process that reads the transaction log and has a low level of impact on the system.
Using Change Tracking :
It has less overhead, but does not track historical changes. Recent changes are saved, but not reverted.
Tracking changes reflects the fact that the rows in the table have been changed, but do not capture data that has been changed. This allows applications to identify rows that have been modified using the latest row data obtained directly from user tables. Consequently, change tracking is more limited in historical questions, which it can answer compared to collecting change data .... / ...