Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如果一个字段没有';发送的对象中不存在,如果失败,请给出此错误“;[解析例外]没有为文本查询指定文本”;_Node.js_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Node.js,elasticsearch" /> elasticsearch,Node.js,elasticsearch" />

Node.js 如果一个字段没有';发送的对象中不存在,如果失败,请给出此错误“;[解析例外]没有为文本查询指定文本”;

Node.js 如果一个字段没有';发送的对象中不存在,如果失败,请给出此错误“;[解析例外]没有为文本查询指定文本”;,node.js,elasticsearch,Node.js,elasticsearch,我是弹性搜索新手,需要更多的理解和帮助。 如果发送对象中不存在匹配的一个字段,它会给出一个错误原因,如何修复该错误 如果我的筛选器只有一个name属性,则它不起作用。所有属性都必须位于筛选器对象中 另一个问题 如果我想说,如果一种语言是一个特定的值,我选择忽略匹配方言,那么在使用三元运算符将其传递给ES请求主体之前,可以检查给定过滤器是否存在。如果是falsy,则使用基本上相当于Elasticsearch的no操作: { 查询:{ 布尔:{ 应:[ { 范围:{ 追随者人数:{ gte:filt

我是弹性搜索新手,需要更多的理解和帮助。 如果发送对象中不存在匹配的一个字段,它会给出一个错误原因,如何修复该错误 如果我的筛选器只有一个name属性,则它不起作用。所有属性都必须位于筛选器对象中 另一个问题
如果我想说,如果一种语言是一个特定的值,我选择忽略匹配方言

,那么在使用三元运算符将其传递给ES请求主体之前,可以检查给定过滤器是否存在。如果是falsy,则使用基本上相当于Elasticsearch的no操作:

{
查询:{
布尔:{
应:[
{
范围:{
追随者人数:{
gte:filter.followers\u count\u range.gte,
lte:filter.followers\u count\u range.lte
}
}
},
性别
? {
匹配:{
用户性别:filter.gender
}
}
: {
匹配所有:{}
},
过滤方言
? {
匹配:{
方言:filter.dialogue
}
}
: {
匹配所有:{}
},
过滤语言
? {
匹配:{
lang:filter.language
}
}
:{匹配所有:{}
],
应匹配的最小值:1
}
}
};

我能再问一个问题吗?如果
match:{user\u gender:filter.gender}
如果filter.gender是一个数组,当它给出错误“无法在开始数组上获取文本”时如何传递它,我假设
gender
是一个布尔字段,因此可以使用。
function getConversations(filter,res){
  client.search({
    index: "conversations",
    type: "docs",
    body: {
      "query": {
        "bool": {
          "should": [{
              "range": {
                "followers_count": {
                  "gte": filter.followers_count_range.gte,
                  "lte": filter.followers_count_range.lte
                }
              }
            },
            {
              "match": {
                "user_gender": filter.gender
              }
            },
            {
              "match": {
                "dialect": filter.dialect
              }
            },
            {
              "match": {
                "lang": filter.language
              }
            }

          ],

          "minimum_should_match":1

        }
      }

    }

  }, function(err, resp, status) {
    if (err) {
      console.log(err);
      res.status(400).send({
        message: "Not Found"
      });
    } else {
      //console.log("--- Response ---");
      console.log(resp);
      console.log("--- Hits ---");
      resp.hits.hits.forEach(function(hit) {
        console.log(hit._source);
      });
      res.status(200).send({
        message: "Done"
      });
    }
  });
}