Alkampfer.KernelMemory.ElasticSearch 0.7.0-bulkoperations0025

This is a prerelease version of Alkampfer.KernelMemory.ElasticSearch.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Alkampfer.KernelMemory.ElasticSearch --version 0.7.0-bulkoperations0025
                    
NuGet\Install-Package Alkampfer.KernelMemory.ElasticSearch -Version 0.7.0-bulkoperations0025
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Alkampfer.KernelMemory.ElasticSearch" Version="0.7.0-bulkoperations0025" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Alkampfer.KernelMemory.ElasticSearch" Version="0.7.0-bulkoperations0025" />
                    
Directory.Packages.props
<PackageReference Include="Alkampfer.KernelMemory.ElasticSearch" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Alkampfer.KernelMemory.ElasticSearch --version 0.7.0-bulkoperations0025
                    
#r "nuget: Alkampfer.KernelMemory.ElasticSearch, 0.7.0-bulkoperations0025"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Alkampfer.KernelMemory.ElasticSearch@0.7.0-bulkoperations0025
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Alkampfer.KernelMemory.ElasticSearch&version=0.7.0-bulkoperations0025&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Alkampfer.KernelMemory.ElasticSearch&version=0.7.0-bulkoperations0025&prerelease
                    
Install as a Cake Tool

Use ElasticSeach with Kernel Memory

In this project there is an opinionated implementation of IMemoryDb for Microsoft Kernel Memory based on the latest version of ElasticSearch >=8.13. This implementation was tested only on the latest version of ES 8, and it is not meant to work with older version.

This library implements only the Memory DB part, so you still need to configure a different database for Binary Storage in Kernel Memory.

Nuget

Package is published in Nuget Alkampfer.KernelMemory.ElasticSearch

NuGet Version NuGet Downloads

Details of implementation

This implementation uses dynamic template mapping so we do not need to do nested object mapping, this was done to have a better schema of the object and a real simple way to query the data.

Search in payload

Kernel memory uses only tags to filter results, and the MemoryRecord has payload dictionary that contains non searchable fields. Actually this implementation was created to allow mixing vector search and BM25 search, so you have a special property called IndexablePayloadProperties in the configuration that allows you to specify which payload you want to be indexed and searchable.

You can use that kind of functionality with custom code like that one in Kernel Memory Extensions

Developing with ElasticSearch

You can run on local machine, run with docker or use an instance on the cloud. Check documentation at https://www.elastic.co/

Elasticsearch Version used to develop this driver

At the date of today the latest version that you can download is used, no work has been done to check compatibility with previous versions.

A ui to elastic

If you need an UI to manage your elastic search, you can use elasticsearch ui running in docker

docker run -d -p 5000:5000 elastichq/elasticsearch-hq

Then connect to the local instance of elastic at http://host.docker.internal:9200

You can also use kibana or other UI of your choice.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.10.0-updatelibraries0018 122 4/5/2025
0.10.0-alpha0022 297 6/10/2025
0.10.0-alpha0017 111 1/21/2025
0.10.0-alpha0014 89 1/13/2025
0.10.0-alpha0009 132 7/22/2024
0.10.0-alpha0005 127 7/22/2024
0.9.4 313 6/10/2025
0.9.4-beta0003 282 6/10/2025
0.9.4-beta0002 293 6/10/2025
0.9.4-beta0001 282 6/10/2025
0.9.3 270 1/21/2025
0.9.3-beta0001 111 1/21/2025
0.9.2 128 1/13/2025
0.9.2-beta0003 84 1/13/2025
0.9.1 355 7/22/2024
0.9.0 154 7/22/2024
0.9.0-not-filter0006 142 7/8/2024
0.9.0-alpha0006 114 7/16/2024
0.9.0-alpha0005 147 7/5/2024
0.9.0-alpha0004 108 6/4/2024
0.8.0 154 6/4/2024
0.8.0-alpha0013 104 6/3/2024
0.8.0-alpha0012 112 6/1/2024
0.7.0 130 6/1/2024
0.7.0-bulkoperations0025 144 5/16/2024
0.7.0-beta0010 106 6/1/2024
0.7.0-beta0001 158 5/27/2024
0.7.0-beta0000 117 5/18/2024
0.7.0-alpha0025 117 5/17/2024
0.7.0-alpha0024 111 5/11/2024
0.7.0-alpha0020 137 5/8/2024
0.7.0-alpha0017 131 5/8/2024
0.7.0-alpha0014 124 4/26/2024
0.7.0-alpha0010 127 4/25/2024
0.7.0-alpha0009 132 4/25/2024
0.7.0-alpha0008 147 4/23/2024
0.6.4 134 5/11/2024
0.6.4-beta0001 112 5/11/2024
0.6.3 160 5/8/2024
0.6.3-beta0002 147 5/8/2024
0.6.3-beta0001 127 5/8/2024
0.6.2 132 5/8/2024
0.6.2-beta0001 127 5/8/2024
0.6.1 248 4/26/2024
0.6.1-beta0009 130 4/26/2024
0.6.1-beta0008 154 4/26/2024
0.6.0 209 4/23/2024
0.6.0-alpha0015 133 4/23/2024
0.6.0-alpha0014 137 4/20/2024
0.6.0-alpha0013 162 4/19/2024
0.6.0-alpha0012 124 4/17/2024
0.6.0-alpha0011 131 4/17/2024
0.6.0-alpha0010 137 4/17/2024
0.5.0 183 4/17/2024
0.5.0-nuget0017 193 4/17/2024
0.5.0-nuget0016 151 4/17/2024
0.5.0-nuget0015 192 4/17/2024
0.5.0-nuget0014 143 4/17/2024
0.5.0-nuget0013 145 4/17/2024
0.5.0-nuget0009 137 4/17/2024
0.5.0-beta0002 146 4/17/2024
0.5.0-beta0001 136 4/17/2024
0.5.0-beta0000 143 4/17/2024
0.5.0-alpha0006 147 4/17/2024