ElasticsearchCRUD
Documentation: http://damienbod.com/2014/09/22/elasticsearch-crud-net-provider/
Code: https://github.com/damienbod/ElasticsearchCRUD
NuGet Package: https://www.nuget.org/packages/ElasticsearchCRUD/
========================
Tutorials:
Part 1: ElasticsearchCRUD Introduction
Part 2: MVC application search with simple documents using autocomplete, jQuery and jTable
Part 3: MVC Elasticsearch CRUD with nested documents
Part 4: Data Transfer from MS SQL Server using Entity Framework to Elasticsearch
Part 5: MVC Elasticsearch with child, parent documents
Part 6: MVC application with Entity Framework and Elasticsearch
Part 7: Live Reindex in Elasticsearch
Part 8: CSV export using Elasticsearch and Web API
Part 9: Elasticsearch Parent, Child, Grandchild Documents and Routing
Part 10: Elasticsearch Type mappings with ElasticsearchCRUD
Part 11: Elasticsearch Synonym Analyzer using ElasticsearchCRUD
Part 12: Using Elasticsearch German Analyzer
Part 13: MVC google maps search using Elasticsearch
Part 14: Search Queries and Filters with ElasticsearchCRUD
Part 15: Elasticsearch Bulk Insert
Part 16: Elasticsearch Aggregations With ElasticsearchCRUD
Part 17: Searching Multiple Indices and Types in Elasticsearch
Part 18: MVC searching with Elasticsearch Highlighting
Part 19: Index Warmers with ElasticsearchCRUD
========================
Examples:
Using Elasticsearch with ASP.NET 5 dnxcore50
This examples shows how to do a simple search using ASP.NET 5 dnxcore
This examples shows how to do a simple search using an MVC application with jQuery autocomplete and Elasticsearch simple documents .
Using with NESTED documents (NEST for search)
This example uses Elasticsearch nested documents. The documents can be created, deleted, updated or searched for. The autocomplete search searches the documents as well as the nested objects.
Elasticsearch child, parent documents in a MVC application
This example uses Elasticsearch child/parent documents. All documents are saved inside the same index each with a different type. The child and parent documents are saved on the same shard. It is possible to do CRUD operations with all child documents or search for child/parent documents.
Data Transfer MS SQLServer 2014 With EntityFramework To Elasticsearch
This examples show how to transfer entities to documents in Elasticsearch. The entities are saved as nested documents.
MVC application with Entity Framework and Elasticsearch
This example demonstrates how to use Entity Framework as you primary database and Elasticsearch for the search in an MVC application. The application needs to create, update, delete documents in the search engine when ever Entity Framework changes, deletes or updates an entity.
Live Reindexing in Elasticsearch
This example shows how to do a live reindex in Elasticsearch. There is no downtime. The old index is accessed using an alias. The new index is created from the old index using scan and scroll and a document mapper. Then the alias to switched to access the new index. Then if required, the old index could be removed.
Web API CSV Export using Elasticsearch (scan and scroll)
This example shows how to export data from Elasticsearch ( _search scan and scroll) to Web API as a CSV file (using WebApiContrib.Formatting.Xlsx). The export is displayed in real time using SignalR. The example also provides a SignalR TraceProvider for ElasticsearchCRUD.
ConsoleElasticsearchCrudExample
A basic CRUD example.
ElasticsearchCRUD.Integration.Test
The integration tests shows lots of examples for ElasticsearchCRUD.
Example showing mapping configuration.
======================== History
Version 2.4.1.1
- support for ASP.NET Core RTM
- fixed, create index with mapping
- updating type for edge_ngram
Version 2.3.1.1-RC2
- support for ASP.NET Core RC2
- updated to elasticsearch 2.3.1
- fixed some bugs from previous versions
- updated Json.NET
Version 2.0.2.1-rc1 2015.11.20
- Support for ASP.NET 5 rc1, dnxcore50, and net451
- Elasticsearch client bug fixes
Version 2.0.0-beta8 2015.11.17
- Support for ASP.NET 5 dnxcore50 and dnx451
Version 2.0.0 2015.11.16
- Support for Elasticsearch 2.0.0
Version 1.0.29.2 2015.03.16
- bug fix, Id in Hit result should not be an int
Version 1.0.29 2015.02.13
- support search highlighting requests in search model
- support for search rescore
- support for the _warmer API, PUT and DELETE
- support warmers in Create Index
- regexp filter, query max_determinized_states support version 1.4.3
- bug fix, GeoDistanceSort GeoPoint field or array of geo_points is required and not optional
Version 1.0.28 2015.02.10
- Indices Filter, Type Filter, Indices Query
- bug fix Terms Aggregation Result properties not set
- support search for multiple indices and types
- Use type safe distance unit in geo Precision property
Version 1.0.27 2015.02.07
- support for Aggregations Min Aggregation, Max Aggregation, Sum Aggregation, Avg Aggregation, Stats Aggregation, Extended Stats Aggregation, Value Count Aggregation, Percentiles Aggregation, Percentile Ranks Aggregation, Cardinality Aggregation, Geo Bounds Aggregation, Top hits Aggregation, Scripted Metric Aggregation, Global Aggregation, Filter Aggregation, Filters Aggregation, Filters Named Aggregation, Missing Aggregation, Nested Aggregation, Reverse nested Aggregation, Children Aggregation, Terms Aggregation, Significant Terms Aggregation, Range Aggregation, Date Range Aggregation, Histogram Aggregation, Date Histogram Aggregation, Geo Distance Aggregation, GeoHash grid Aggregation
- Remove string conversion for _id field in bulk insert
Version 1.0.26 2015.01.24
- Support for core type geometrycollection
- Support for nested filter and query
- Support mapping for nested objects
- Added more search queries: Common Terms Query, Function Score Query, GeoShape Query, Has Child Query, Has Parent Query, Ids Query, More Like This Query, Nested Query, Prefix Query, Query String Query, Simple Query String Query, Regexp Query, Span First Query, Span Multi Term Query, Span Near Query, Span Not Query, Span Or Query, Span Term Query, Top Children Query, Wildcard Query
Version 1.0.25 2015.01.18
- Support for search filters: And Filter, Bool Filter, Exists Filter, Geo Bounding Box Filter, Geo Distance Filter, Geo Distance Range Filter, Geo Polygon Filter, GeoShape Filter, GeoShape Indexed Filter, Geohash Cell Filter, Has Child Filter, Has Parent Filter, Ids Filter, Limit Filter, Match All Filter, Missing Filter, Not Filter, Or Filter, Prefix Filter, Query Filter, Range Filter, Regexp Filter, Script Filter, Term Filter, Terms Filter
- support for sort
- support for Filter in Alias
- Support for Queries in Scan and Scroll,
- support search objects
- support for basic queries: Match Query, Multi Match Query, Bool Query, Boosting Query, Constant Score Query, Dis Max Query, Filtered Query, Fuzzy Like This Query, Fuzzy Like This Field Query, Fuzzy Query, Match All Query, Range Query, Term Query, Terms Query
Version 1.0.24 2015.01.05
- Support for geo_point index and mapping
- Support for geo_shape index and mapping
- Spporting the following Geo Shape Types: point, linestring, polygon, multipoint, multilinestring, multipolygon, envelope, circle
Version 1.0.23 2015.01.02
- Added search highlighting and refactored the hits results
- Support for alias in create index
- Added a missing const icu_tokenizer
- Support for alias routing and filter parameters
- Added _id attribute which can be used instead of the Key Data Annotations attribute
Version 1.0.22 2014.12.15
- support for custom char_filters
- support for custom similarity
- added all DateTime format options
Version 1.0.21 2014.12.09
- support for index Token filters, custom filters
- support for index Tokenizers, custom tokenizers
- support for index Analyzers, custom analyzers
- support for _all and _source mappings
- support for support analysis mappings, settings
- support update index analysis settings
- support for mapping Analyzer
- refactored the search results to conform with the search API hits/hit etc
Version 1.0.20 2014.11.28
- support optimize index
- support close index
- support open index
- support update index settings
- support CreateMapping for existing index
- support specific routing in mappings
Version 1.0.19 2014.11.22
- support for Delete mapping (Index Type)
- support for sync delete index
- bug fix: bool types should not require an [ElasticsearchBoolean] attribute to create mapping
- DeleteDocument, add support/tests for explicit routed documents
- IndexType Mapping fix for grandchild documents serialization
Version 1.0.18 2014.11.21
- support for Elasticsearch Core Types mappings as Attribute definitions (string, float, double, byte, short, integer,long, date, boolean, binary)
- support for similarity mappings
- support copy_to mappings
- support fields mappings (multi-fields)
- support CreateIndex simple, nested or child/parent document with or without routing
- support for auto init mapping, simple, nested or child/parent document with or without routing
Version 1.0.17 2014.11.14
- Added support for search exists
- Added support for document routing child/parent/grandchild or whatever
- Used routing pro code configuration
- Bug Fix Grandchildren documents are not always saved to the proper shard
Version 1.0.16 2014.11.09
- Added live Reindex support for child parent indexes
- Added support for index exists
- Added support for Alias exists
- Added support for IndexType exists
- Add support for Exists with any URI
- Fixed Console TraceProvider Bug
Version 1.0.14 2014.11.06
- Added live Reindex support
- Added index and indexType mapping utilities
- Added console min trace level to ConsoleTraceLogger
- Fix for scan and scroll implementation
Version 1.0.13 2014.11.05
- Support for alias
- Support for _search scan and scroll
Version 1.0.12 2014.10.31
- Bug fix SearchById
Version 1.0.11 2014.10.29
- Added ClearCache API support
- Added HTTP Head request to test if a document exists DocumentExists
- Added DeleteByQuery API support
Version 1.0.10 2014.10.25
- Support for Elasticsearch Count API
- Return hits/total in search results
- Added code documentation and included in NuGet deployment
- Removed search for child documents per parent
Version 1.0.9 2014.10.22
- Added Get child document for parent Id method to context
- Add SearchById method to context
- Create a Child document possible
- It is possible now to update, or index child documents which belong to a parent document
- Added non-functional tests for child documents, parent documents
- Added Search for child documents of a document
- Added Search with Json String for type T
- Initial Mappings for child parent type relationships
- Using key attribute to identity ids
Version 1.0.8 2014.10.17
- Support Collection of Objects Property in entity as child documents
- Support Single Object Property in entity as child document
- Support Array of Objects Property in entity as child documents
- Add JsonIgnore Property Attribute for Elasticsearch
- Add Configuration/Mapping for child Object definition NESTED or document
- Bug Fix Only the first child object is processed if it is defined in a parent List
Version 1.0.7 2014.10.12
- Bug in 1-n-m-1 mapping for EF entities
- Added diagnostics for HttpClient Request and response
- Added diagnostics for JsonWriter
- Added Entity Framework Data Transfer Tests
- Added Configuration to turn on/off Nested objects IncludeChildObjectsInDocument
Version 1.0.6 2014.10.12
- Add support for Entity Framework dynamic proxy entities
- Add Error Handling when child Entity has a reference to its parent Entity
- support for HashSet properties
- Exception Handling for M-N relationships, and circular relationships detection
- Support for 1 to N Entity Framework entities
Version 1.0.5 2014.10.05
- Support Array of Objects Property in entity as NESTED document
- Support Collection of Objects Property in entity as NESTED documents
- Support Single Object Property in entity as NESTED document
- Support for simple type List properties as NESTED document
- Support for simple type Array properties as NESTED document
Version 1.0.4 2014.10.02
- sync / async methods added for CRUD
- Better Error handling
- Improvement Tracing, added System.Diagnostics Tracing support
- More Tests
- URL bug fix for GetEntity
Version 1.0.3 2014.09.30
- sync save changes added
- default mapping settings changed, lowercase for everything and index = plural
Version 1.0.2 2014.09.27
- support for multiple Entity/Document Types
- Error handling improvements
- Delete index
Version 1.0.1 Support for single entity, initial version.