UNPKG

1.11 kBtext/coffeescriptView Raw
1parse = require './parse'
2mixin = require './mixin'
3reader = require './reader'
4alias = require './alias'
5mappings = require './mappings'
6settings = require './settings'
7template = require './template'
8writer = require './writer'
9queryToSearch = require './query-to-search'
10
11module.exports = (url) ->
12
13 target = parse(url)
14
15 client = require('./es') target
16
17 # holds {q}
18 search = queryToSearch(target.query)
19
20 reader: (lsearch, operdelete, trans) ->
21 # merged search in order of precedence
22 msearch = mixin search, lsearch, {index:target.index, type:target.type}
23
24 reader(client, msearch, operdelete, trans)
25
26 alias: ->
27 alias(client, {index:target.index})
28
29 settings: ->
30 settings(client, {index:target.index})
31
32 mappings: ->
33 mappings(client, {index:target.index, type:target.type})
34
35 template: ->
36 template(client, {name:target.index})
37
38 writer: (operdelete, trans, instream) ->
39 writer(client, {index:target.index, type:target.type}, operdelete, trans, instream)