gpt4 book ai didi

elasticsearch - Elasticsearch-将API与参数字段匹配

转载 作者:行者123 更新时间:2023-12-03 02:24:34 26 4
gpt4 key购买 nike

我的代码是这样的:

const [fieldName, setFieldName] = useState('');

...

const selectFieldItem = name => {
setFieldName(name);
console.log('selected field: ', fieldName);
};
...

const getDocuments = async () => {
try {
if (selectedIndexName || value) {
const response = await client.search({
index: value,
body: {
query: {
match: {
fieldName: element,
},
},
},
});
console.log('documents', response.hits.hits);
setDocuments(response.hits.hits);
}
} catch (error) {
console.trace(error.message);
}
};

关键是fieldName是一个参数。
所以应该像
"match": 
{
"TXN_CODE": "1"
}

但是Elasticsearch将其理解为字符串“fieldName”,如下所示
"match": 
{
"fieldName": "1"
}

有什么建议吗?

我也尝试过,但是没用。
const response = await client.search({
index: value,
body: {
query: {
match: {
'{{fieldName}}': element,
},
},
},
params: {
fieldName: fieldName,
},
});

最佳答案

const response = await client.search({
index: value,
body: {
query: {
match: {
[fieldName]: element,
},
},
},
});

您可以通过搜索 variable as json key了解更多信息

关于elasticsearch - Elasticsearch-将API与参数字段匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61409649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com