From db8924b634eb497c8520c6e3d6450855a06339d9 Mon Sep 17 00:00:00 2001
From: Daniel Low <daniel.low@zazzle.com>
Date: Wed, 21 May 2014 15:33:46 -0700
Subject: [PATCH] Add DelimitedPayloadTokenFilter according to
 www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-delimited-payload-tokenfilter.html

---
 .../DelimitedPayloadTokenFilter.cs            | 28 +++++++++++++++++++
 src/Nest/Nest.csproj                          |  3 +-
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 src/Nest/Domain/Analysis/TokenFilter/DelimitedPayloadTokenFilter.cs

diff --git a/src/Nest/Domain/Analysis/TokenFilter/DelimitedPayloadTokenFilter.cs b/src/Nest/Domain/Analysis/TokenFilter/DelimitedPayloadTokenFilter.cs
new file mode 100644
index 00000000000..f06da521e07
--- /dev/null
+++ b/src/Nest/Domain/Analysis/TokenFilter/DelimitedPayloadTokenFilter.cs
@@ -0,0 +1,28 @@
+using Newtonsoft.Json;
+
+namespace Nest
+{
+    /// <summary>
+    /// A token filter of type delimited_token_filter. Splits tokens into tokens and payload whenever a delimiter character is found.
+    /// </summary>
+    public class DelimitedPayloadTokenFilter : TokenFilterBase
+    {
+
+        public DelimitedPayloadTokenFilter()
+            : base("delimited_payload_filter")
+        { }
+
+        /// <summary>
+        /// Character used for splitting the tokens. Default is '|'.
+        /// </summary>
+        [JsonProperty("delimiter")]
+        public char? Delimiter { get; set; }
+
+        /// <summary>
+        /// The type of the payload. 'int' for integer, 'float' for float and 'identity' for characters. Default is 'float.'
+        /// </summary>
+        [JsonProperty("encoding")]
+        public string Encoding { get; set; }
+
+    }
+}
diff --git a/src/Nest/Nest.csproj b/src/Nest/Nest.csproj
index d33cdddd995..9e5a4073ef8 100644
--- a/src/Nest/Nest.csproj
+++ b/src/Nest/Nest.csproj
@@ -88,6 +88,7 @@
     <Reference Include="System.ServiceModel" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Domain\Analysis\TokenFilter\DelimitedPayloadTokenFilter.cs" />
     <Compile Include="ConvenienceExtensions\AliasExtensions.cs" />
     <Compile Include="ConvenienceExtensions\CountExtensions.cs" />
     <Compile Include="ConvenienceExtensions\DeleteExtensions.cs" />
@@ -815,4 +816,4 @@
   <Target Name="AfterBuild">
   </Target>
   -->
-</Project>
\ No newline at end of file
+</Project>