首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AWS Cloudsearch中执行包含符号的结构化查询

如何在AWS Cloudsearch中执行包含符号的结构化查询
EN

Stack Overflow用户
提问于 2020-08-03 18:05:12
回答 1查看 458关注 0票数 0

我试图在Cloudsearch中执行结构化前缀查询。

下面是查询args的一个片段(csattribute是文本类型的)

代码语言:javascript
复制
{
    "query": "(prefix field=csattribute '12-3')",
    "queryParser": "structured",
    "size": 5
}

我的上述查询将导致No matches for "(prefix field=csattribute '12-3')"

但是,如果我将查询更改为

代码语言:javascript
复制
{
    "query": "(prefix field=csattribute '12')",
    "queryParser": "structured",
    "size": 5
}

然后我会得到一个列表的结果,我希望。

我在我的简短搜索中没找到多少。如何在查询中包括-?需要逃跑吗?还有其他字符需要转义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-03 19:38:25

我通过这样的问题被指出了正确的方向:How To search special symbols AWS Search

下面是https://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html的一个片段

文本处理在亚马逊CloudSearch .在标记化期间,使用Unicode文本分割算法中定义的单词中断规则,将字段中的文本流分割为可检测边界上的单独标记。

根据单词中断规则,空格和制表符等空格分隔的字符串被视为单独的标记。在许多情况下,标点符号被删除并作为空白来处理。例如,字符串在连字符(-)处拆分,at符号(@)处拆分。但是,没有空格的周期被认为是令牌的一部分。

据我所知,texttext-array字段是基于分析方案(在我的例子中是英语)来标记的。文本被标记,而-符号是一个单词中断标记。

这个字段不需要被标记。将索引类型更新为literal可以防止字段上的所有标记化,这允许我问题中的查询返回预期的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63234676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档