简体   繁体   English

AWS Cloudsearch电子邮件查询

[英]AWS Cloudsearch email query

I've have an issue with CloudSearch'ing by email 我通过电子邮件发送CloudSearch'ing时遇到问题

For example, my search query is host/search?predicate=aleks@email.com 例如,我的搜索查询是host/search?predicate=aleks@email.com

I have defined string ${predicate}* | ${predicate} 我定义了字符串${predicate}* | ${predicate} ${predicate}* | ${predicate} as my query and I've been trying to search in email fields. ${predicate}* | ${predicate}作为查询,我一直在尝试在电子邮件字段中进行搜索。 As a result I've been getting response only in case if I've been trying to query either part before "@" sign ( alex ) or full request ( alex@email.com ) all the time. 结果,只有在我一直试图查询“ @”符号( alex )或完整请求( alex@email.com )之前的任何部分时,我才得到响应。

I've reserched CloudSearch limits , but I didn't figure it out finally: is it possible to pass Strings with "@" sign? 我已经重新设定了CloudSearch的限制 ,但最终还是没有弄清楚:是否可以传递带有“ @”符号的字符串? Is there anybody who solved that problem? 有没有人解决过这个问题?

http://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html @ is one of the characters that'll break a string part. http://docs.aws.amazon.com/cloudsearch/latest/developerguide/text-processing.html @是会破坏字符串部分的字符之一。 So you'll need to replace @ with something else. 因此,您需要用其他内容替换@
For english word breaking rules, you'll need to disable stemming. 对于英语分词规则,您需要禁用词干。

Is predicate field text or literal ?. 谓词字段是text还是literal It looks like it is text right now so cloudsearch stems the email thats why it will be stemed and stored as aleks email com thus aleks or email works when you search. 看起来现在是文本,因此cloudsearch阻止了电子邮件,这就是为什么它将被阻止并存储为aleks email com因此aleksemail在您搜索时有效。 You can make email field literal type so that cloudsearch doesn't stem in that case query will work for ale* , alek* so you can use ${predicate}* | ${predicate} 您可以设置电子邮件字段literal类型,以便在这种情况下cloudsearch不起作用,查询将适用于ale*alek*因此您可以使用${predicate}* | ${predicate} ${predicate}* | ${predicate}

Note: literal will be case sensitive search so u might have to downcase value before sending to cloudsearch if you want case insensitive search 注意: literal将是区分大小写的搜索,因此如果您要区分大小写的搜索,则在发送到cloudsearch之前,您可能必须小写值

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM