如果任何搜索关键字匹配,如何提取项目



我的弹性数据库中有这个文档。我正在使用此软件包https://www.npmjs.com/package/@弹性/弹性搜索

我正在title上搜索。

我是这样做的。

const result= await client.search({
index: 'products',
"query": {
"bool": {
"should": [
{
"wildcard": { "title": "*" + search + "*" }
}
],
"minimum_should_match": 1
}
}

当我搜索";标题";该CCD_ 2。它给了我一个结果,但当我搜索i have issue时。它给出零或0结果。为什么?是否可以获取该数据。issue关键字出现在第一个集合中,为什么它没有拾取?

[
{
"_index": "products",
"_id": "wZRh3n8Bs9qQzO6fvTTS",
"_score": 1.0,
"_source": {
"title": "laptop issues",
"description": "laptop have issue present in according"
}
},
{
"_index": "products",
"_id": "wpRh3n8Bs9qQzO6fvzQM",
"_score": 1.0,
"_source": {
"title": "buy mobile",
"description": "mobile is in Rs 250"
}
},
{
"_index": "products",
"_id": "w5Rh3n8Bs9qQzO6fvzTz",
"_score": 1.0,
"_source": {
"title": "laptop payment",
"description": "laptop payment is given in any way"
}
}
]

如何搜索关键词?任何关键字匹配。我需要挑选整个胶体

如果只想匹配查询中的部分单词,则可以使用match queryoperator设置为or

{
"query": {
"match": {
"title": {
"query": "i have issues",
"operator": "or"
}
}
}
}

更新

要运行注释中提到的查询,可以使用match_bool_prefix查询。

{
"query": {
"match_bool_prefix": {
"title": {
"query": "i have issu"
}
}
}
}

相关内容

  • 没有找到相关文章

最新更新