【问题标题】:elasticsearch how to use preference in node.jselasticsearch如何在node.js中使用首选项
【发布时间】:2022-11-01 17:13:10
【问题描述】:

我正在从 Node.js 向 ES 发送请求, 在我将“首选项”选项放入代码之前很好。 我得到了同样的错误:“[preference] 中 VALUE_STRING 的未知键。”

我的代码: `

client
    .search({
        _source: TEST_TILEDS,
        index: TEST_INDEX,
        size: _.isNumber(pageSize) === false ? 20 : pageSize,
        body : {
            min_score: 1,
            query,
            explain: false,
            preference: userUuid,
        },
    })

`

我想将自定义值用于偏好选项,例如文档中所说的 here

当我在 Kibana 中尝试时,它与 localhost:9200/_search?preference='asdf' 配合得很好 但是如果我像下面这样将首选项键值放在 {} json 的内部,那么它就行不通了。

`

GET alias_search_tabling_restaurant_production/_search
{
  "query": {
     "bool":
      blabla 
  },
  "preference": "asdf"  // 
}

`

有什么解决办法吗? 先感谢您。

就像我上面解释的那样,我在 Kibana 中尝试过,但只有 url + 选项有效,但 json 或 node.js 代码中的选项无效。

【问题讨论】:

    标签: node.js elasticsearch preference


    【解决方案1】:

    使用queryString 并将其作为查询参数传递怎么样?

    client
        .search({
            _source: TEST_TILEDS,
            index: TEST_INDEX,
            size: _.isNumber(pageSize) === false ? 20 : pageSize,
            queryString: {"preference": userUuid},
            body : {
                min_score: 1,
                query,
                explain: false,
                preference: userUuid,
            },
        })
    

    【讨论】:

    • 嗨 pakio,感谢您的快速支持,所以我想我应该删除偏好:userUuid in body?
    猜你喜欢
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多