git.iko.soy/typeable/bloodhound
on master help sign in
bulk create encoding
commit087ecbc7ab8882506b0e51756939415148440f00 authorAndrew Martin <andrew.thaddeus@gmail.com> dateMon 7 Aug 2017, 11:58 (9 years ago) parente34d302
2 files changed+8−1
src/Database/V5/Bloodhound/Client.hs+6 src/Database/V5/Bloodhound/Types.hs+2−1
src/Database/V5/Bloodhound/Client.hs+6
@@ -885,6 +885,12 @@ encodeBulkOperation (BulkUpdate (IndexName indexName)
885885 doc = object ["doc" .= value]
886886 blob = encode metadata `mappend` "\n" `mappend` encode doc
887887
888+encodeBulkOperation (BulkCreateEncoding (IndexName indexName)
889+ (MappingName mappingName)
890+ (DocId docId) encoding) = toLazyByteString blob
891+ where metadata = toEncoding (mkBulkStreamValue "create" indexName mappingName docId)
892+ blob = fromEncoding metadata <> "\n" <> fromEncoding encoding
893+
888894-- | 'getDocument' is a straight-forward way to fetch a single document from
889895-- Elasticsearch using a 'Server', 'IndexName', 'MappingName', and a 'DocId'.
890896-- The 'DocId' is the primary key for your Elasticsearch document.
src/Database/V5/Bloodhound/Types.hs+2−1
@@ -710,8 +710,9 @@ data Mapping = Mapping { typeName :: TypeName
710710data BulkOperation =
711711 BulkIndex IndexName MappingName DocId Value
712712 | BulkCreate IndexName MappingName DocId Value
713+ | BulkCreateEncoding IndexName MappingName DocId Encoding
713714 | BulkDelete IndexName MappingName DocId
714− | BulkUpdate IndexName MappingName DocId Value deriving (Eq, Read, Show, Generic, Typeable)
715+ | BulkUpdate IndexName MappingName DocId Value deriving (Eq, Show, Generic, Typeable)
715716
716717{-| 'EsResult' describes the standard wrapper JSON document that you see in
717718 successful Elasticsearch lookups or lookups that couldn't find the document.