ios - 如何使用 GET API 请求在 AWS Cloud Search 中执行部分字符串搜索
问题描述
我想在 AWS Cloud Search API 中搜索整个字符串以及部分字符串,
我有如下格式的可用数据,
[
{
'name' : 'John',
'specialities' : [
'ios',
'swift',
'react native'
]
},
{
'name' : 'Karl',
'specialities' : [
'ios developer',
]
},
{
'name' : 'Maria',
'specialities' : [
'android developer',
]
}
]
现在我想要实现的是,如果我触发查询来搜索“ios 开发者”,那么它应该返回 Karl、John、Maria 所有三个记录。
因为按照我的要求,Karl 有完全匹配的字符串,我得到了,但是 John 有 'ios' 而 Maria 有我想要匹配的 'developer' 词。
根据 AWS 文档,它们允许单词完全匹配,这就是为什么我没有得到想要的结果。
我在下面提到了相关文档: https ://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-text.html#searching-text-phrases
解决方案
从这些文档中,您正在寻找的是|
|——在搜索结果中包括包含该术语的文档,即使它们不包含其他术语。| 运算符仅适用于个别条款。例如,要包含包含两个术语之一的文档,请指定:term1 |term2。搜索 search?q=star wars |trek 包括同时包含 star 和 wars 或术语 trek 的文档。
例如ios |developer
如果您想将结果限制为仅specialities
字段,您仍然可以使用这个简单的解析器和选项:
例如q='ios |developer'&q.options={fields: ['specialities']}.
请注意,您需要对此字符串进行 url 编码。大多数语言都有解决方案,或者您可以使用在线工具来做到这一点:https ://www.url-encode-decode.com/
推荐阅读
- go - 尝试使用空接口参数返回数据时出错
- reactjs - 卡在加载中对 App.js 进行了微小的更改
- image-processing - 使用 FCNN 进行在单类标记图像数据上训练的多类语义分割
- javascript - 如何从(独立).html 文件列出 FTP 上的文件?
- database - AWS Redshift 连接失败 [错误设置/关闭连接:连接超时]
- google-app-engine - 如何在 bigquery 中更新表
- c++ - 概念(C++20)可以用作布尔值吗?
- django - 我应该避免使用不必要的数据库事务(django+postgresql 环境)吗?
- css - 如何使用 Saas 变量颜色主题混合为背景颜色赋予不透明度?
- python - Django在引用时从数据库更改变量