1 | parse = require './parse'
|
2 | mixin = require './mixin'
|
3 | reader = require './reader'
|
4 | alias = require './alias'
|
5 | mappings = require './mappings'
|
6 | settings = require './settings'
|
7 | template = require './template'
|
8 | writer = require './writer'
|
9 | queryToSearch = require './query-to-search'
|
10 |
|
11 | module.exports = (url) ->
|
12 |
|
13 | target = parse(url)
|
14 |
|
15 | client = require('./es') target
|
16 |
|
17 |
|
18 | search = queryToSearch(target.query)
|
19 |
|
20 | reader: (lsearch, operdelete, trans) ->
|
21 |
|
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)
|