在我的NodeJs API中,我还没有查询到由多个单引擎组成的** meta引擎**。我需要一个身份列表来过滤文件。
我用的是**@elastic/enterprise-search**包版本8.6.0
当我尝试列出它工作的所有文档时,我得到了所有的文档。但我没能通过身份证。
我尝试使用客户端方法getDocuments(),但它没有找到任何东西,并返回一个空值列表。我尝试了这样的方法,但仍然会出现错误:
const { Client } = require('@elastic/enterprise-search');
const client = () =>
new Client({
url: process.env.ELASTIC_SEARCH_URL,
auth: {
token: process.env.ELASTIC_SEARCH_KEY,
},
});
const searchItemsFromMetaEngineAppSearch = async (engine, idList) => {
const requests = idList.map((id) => {
return {
index: engine,
body: {
query: {
ids: {
values: [id],
},
},
},
};
});
const documents = await client().app.search({
body: requests,
});
return documents;
};
在网络上没有太多关于查询 meta引擎的信息。
1条答案
按热度按时间vfwfrxfs1#
meta引擎中元素的id与单个引擎中元素的id不同。
在单个引擎中,你会做这样的事情:
在 meta引擎中,必须使用“作用域ID”(“{engine}|{id}”),使用它们所属的引擎的名称:
(https://www.elastic.co/guide/en/app-search/current/meta-engines-guide.html#meta-engines-guide-scoped-ids)