第97篇跨域图像识别及图像试题检索问题

    xiaoxiao2021-04-02  40

    关键词:跨域图像识别问题, 跨域图像检索问题

    跨域图像识别及图像试题检索问题

    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.) elasticsearchnodejs客户端

    网址如下: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日星期五

    转载请注明原文地址: https://ju.6miu.com/read-665761.html

    最新回复(0)