javascript - vuejs using elasticsearch api methods -


i have vuejs script , need use elasticsearch api method.

// ./main.js var vue = require('vue');  vue.use(require('vue-resource'));  import es './elasticsearch.js';  new vue({      el: 'body',      methods: {         search: function() {             // should call es.search...         }     } }); 

and elasticsearch script:

// ./elasticsearch.js var es = require('elasticsearch');  var client = new es.client({   host: 'localhost:9200'   ,log: 'trace' });  client.search({   index: 'my_index',   type: 'my_type',   body: {     fields: {},     query: {       match: {         file_content: 'search_text'       }     }   } }).then(function (resp) {     var hits = resp.hits.hits; }, function (err) {     console.trace(err.message); }); 

so, in method search in main.js should call client.search , send text searched in server (_search_text_).

how bind it? or how use elasticsearch object inside vuejs method?

thanks!

your elasticsearch.js file not configured correctly module: import es './elasticsearch' won't because file not export anything.

it should more this:

// ./elasticsearch.js var es = require('elasticsearch');  var client = new es.client({   host: 'localhost:9200'   ,log: 'trace' });  function search (myindex, mytype, searchtext)   return client.search({     index: myindex,     type: mytype,     body: {       fields: {},       query: {         match: {           file_content: searchtext         }       }     }   }).then(function (resp) {       return hits = resp.hits.hits;   }, function (err) {     console.trace(err.message); });  export { search } 

we define function named search , export it. note inxluded return statements return promise , result function.

then in main.js can import name, , use it:

// ./main.js var vue = require('vue');  vue.use(require('vue-resource'));  import { search } './elasticsearch.js';  new vue({      el: 'body',      methods: {         search: function() {             var result = search('someindex', 'sometype', 'search text here' ).then(function(res) {   // result   })         }     } }); 

Comments

Popular posts from this blog

PySide and Qt Properties: Connecting signals from Python to QML -

c# - DevExpress.Wpf.Grid.InfiniteGridSizeException was unhandled -

scala - 'wrong top statement declaration' when using slick in IntelliJ -