Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 搜索用户名的语音算法_Search_Redis_Amazon Dynamodb_Fuzzy Search_Phonetics - Fatal编程技术网

Search 搜索用户名的语音算法

Search 搜索用户名的语音算法,search,redis,amazon-dynamodb,fuzzy-search,phonetics,Search,Redis,Amazon Dynamodb,Fuzzy Search,Phonetics,我让DynamoDB存储用户配置文件。这里的主键是一个id。键必须是一个id。 用户配置文件包含诸如用户名、一组好友等信息,。。。 所以现在这里是第一个问题:用户A想要通过他的名字搜索用户B。我不想每次都做一次完整的DynamoDB扫描。 因为我已经有了redis服务器,所以我想我可以在那里存储用户名id对 所以现在真正的问题是:我要寻找什么? 例如,我的用户名可以是Eric1996。我的一个朋友不记得最后的数字,所以他只是在搜索Eric19。 或者他一开始就忘了大写字母,然后开始寻找埃里克。在

我让DynamoDB存储用户配置文件。这里的主键是一个id。键必须是一个id。 用户配置文件包含诸如用户名、一组好友等信息,。。。 所以现在这里是第一个问题:用户A想要通过他的名字搜索用户B。我不想每次都做一次完整的DynamoDB扫描。 因为我已经有了redis服务器,所以我想我可以在那里存储用户名id对

所以现在真正的问题是:我要寻找什么? 例如,我的用户名可以是Eric1996。我的一个朋友不记得最后的数字,所以他只是在搜索Eric19。 或者他一开始就忘了大写字母,然后开始寻找埃里克。在另一种情况下,他可能会拼错名字,比如埃里克1996、埃里克1996、埃里克1996

我搜索了一下这个主题,了解到有一种叫做语音算法的东西,它通过单词的发音来搜索单词。这将修正上面的例子。 但是,这样的算法也适用于其他用户名吗?你现在看到一些用户想出了真正的3x0tic名称,或者只是使用随机字母。我认识一个叫他自己的家伙,有点像Daddddx_uu7 online。
我认为这比拼写更正要困难得多,因为用户的名字可能故意拼错了

Dynamodb或redis是不符合您要求的工具。 我建议对您的数据存储使用dyanmodb或redis,并使用Solr或ElasticSearch(或其AWS版本Amazon CloudSearch,同时提供Solr和ElasticSearch) 您可以在dynamodb中存储用户配置文件,并在搜索存储中存储可搜索字段(您甚至可以在搜索存储中存储完整的配置文件)。 然后搜索功能,如拼写错误,排名朋友的基础上,一些分数很容易实现