关键词:跨域图像识别问题, 跨域图像检索问题
一、跨域图像识别及图像试题检索问题
1.1 跨域图像识别问题
1)正确返回问题
现在跨域请求,识别出的文字返回不正确,如下:
返回来的都是对象,我要先把对象转化为数组,再把数组转化为字符串。
完成了,代码如下:
var req =httpClient.post(BAIDU, args, function (data, response) {
varkwArray = JSON.parse(data.toString());
var obj= kwArray.retData;
varkeywords = '';
for(i inobj){
keywords += obj[i]['word'];
}
res.json(keywords);
});
运行效果如下:
1.2 跨域图像检索问题
1)先来一个<span>---------------------index.html
<span id="searchAnsKeyword"class="studentStatues studentOffline"
οnclick="getAnsKeyword()">keyword搜答案</span>
2)getAnsKeyword函数如下:---------------------index.html
function getAnsKeyword(errorCallBack) {
var keywords ='高中物理';
$.get(assistBaseUrl+"/searchWithKeywords/" + keywords,
function(data, status) {
console.log("Data: " + data + "\nStatus: " +status);
});
}
3)上述调用了一个服务器上的方法searchWithKeywords---------------------app.js
// searchWithKeywords
function searchWithKeywords(req, res, next) {
console.log(req.params);
var keywords =req.params.keywords;
console.log('keywords: ' + keywords);
res.json(keywords);
}
4)研究下用nodejs怎么搜索
a.) elasticsearch的nodejs客户端
网址如下:https://github.com/elastic/elasticsearch-js
注:它的研究方法可以参考elasticsearch-php来搞,反正都是操作elasticsearch的。
b.) elasticsearch.js13.0.0-beta2
The official low-levelElasticsearch client for Node.js and the browser.
c.)例子查询如下:
https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html
这样写就能查出来,如下:
esClient.search({
index:'dzplib',
type:'Problem',
body: {
query: {
match: {
text: '高中物理'
}
}
}
}).then(function(resp) {
var hits =resp.hits.hits;
}, function(err) {
console.trace(err.message);
});
运行效果如下:
5)怎么控制检索出的题的数量为3道
a)以下是中文网站,讲的很详细
http://www.open-open.com/lib/view/open1476345849465.html
b) 接口参数介绍
https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html
c)实现了,如下:
function searchWithKeywords(req, res, next) {
esClient.search({
index:'dzplib',
type:'Problem',
body: {
size:3,
from:0,
query: {
match: {
text: '高中物理'
}
}
}
}).then(function(resp) {
var hits =resp.hits.hits;
}, function(err) {
console.trace(err.message);
});
console.log(req.params);
var keywords =req.params.keywords;
console.log('keywords: ' + keywords);
res.json(keywords);
}
注:这个开始就实现了,只是没更新到服务上去,所以,以后,改了程序,要看一眼,同步到服务器上没有。找到的参考如下:
2017年4月07日星期五