javascript - elasticsearch.js&nodejs scoll方法的問題
問題描述
不知道有沒有用過nodejs結合elasticsearch做開發的。今天想嘗試一下,執行了一個scoll查詢,出現一個很奇怪的錯誤,請幫忙看看。這是我的方法
esdao.searchScollFor130 = function() { esClient.search({index: esconf.index130,type: esconf.ttype,scroll: ’30s’,search_type: ’scan’,body: {query: {match_all: {}}} }, function getMoreUntilDone(err, ress) {console.log(ress);if (92202 !== allresult.length) { esClient.scroll({scrollId: ress._scroll_id,scroll: ’30s’ }, getMoreUntilDone);} else { console.log(’every 'test' title’, allTitles);} }); console.log(allresult);}
但是執行過程中后臺一直拋錯
換一種寫法,把92202換成ress.hits.total想取得總條數,但是:很是郁悶,我直接把這個返回結果復制出來賦給一個變量,卻是可以取得到total值。
問題解答
回答1:我自己已經找到問題原因了,把解決方案說一下,免得遇到同樣問題的再走彎路,因為我的服務器版本是比較老的1.2的版本,所以,只要在創建客戶端的時候加上版本號就好了。
var esClient = new elasticsearch.Client({ host: esconf.host130, apiVersion: '0.90', log: ’error’ });
這是我在github上提的問題,是看到另一個提問的人給了我的啟發。大家也可以參考一下我的解決過程。
相關文章:
1. javascript - node.js promise沒用2. node.js - nodejs如何發送請求excel文件并下載3. docker-machine添加一個已有的docker主機問題4. docker - 各位電腦上有多少個容器啊?容器一多,自己都搞混了,咋辦呢?5. 為什么我ping不通我的docker容器呢???6. angular.js - 為什么給 Angular 指令綁定事件無法生效7. golang - 用IDE看docker源碼時的小問題8. android 如何實現如圖中的鍵盤上的公式及edittext的內容展示呢9. html5 - 使用angular中,圖片上傳功能中選擇多張圖片是怎么實現的?有什么好的思路嗎?10. java - 我在用Struts2上傳文件時,報以下錯誤怎么回事?
