在AWS CloudSearch控制台的“文本选项”面板中,您可以通过文本字段输入向搜索索引添加停用词,词干和同义词。我可以上传471个停用词,但不能再上传。当我尝试时,上传超时并报告以下javascript错误:
Uncaught TypeError: Cannot read property 'Error' of null in cs.201212282103.js
我假设我已达到极限。这记录在哪里?我也有一大堆同义词,我希望上传。同义词是否有限制?是否有其他方法可以上传停用词,词干和同义词 - 例如API?
答案 0 :(得分:1)
是的,有限制,您可以在http://docs.aws.amazon.com/cloudsearch/latest/developerguide/Limits.html
上查看Stemming dictionary size
The maximum size of a Amazon CloudSearch stemming dictionary is 500 KB.
Stopwords dictionary size
The maximum size of a Amazon CloudSearch stopwords dictionary is 10 KB.
Synonym dictionary size
The maximum size of a Amazon CloudSearch synonym dictionary is 100 KB.
但我没有确认你有限制问题,我只是在回答其他问题。就像你指出的可能是控制台的暂时问题。
答案 1 :(得分:0)
CloudSearch控制台存在一个错误(显然在6年后未修复)。幸运的是,您可以使用AWS CLI来解决问题。
在尝试添加一些新的同义词时,我刚刚遇到了此问题。我担心自己会达到某种极限,因为我可以在只有少数同义词的测试分析方案中添加相同的同义词。但是,在阅读了埃弗顿的answer之后,我发现我的同义词词典在100 KB的限制范围之内。而且我怀疑OP是否达到了极限(但是javascript在经过一定数量的数据后确实会失败,所以这是人为的极限)。
因此,我联系了AWS支持,要求我尝试使用AWS CLI更新我的分析方案。那行得通。这是要使用的命令:
aws cloudsearch define-analysis-scheme --domain-name <your-domain-name> --analysis-scheme file://path/to/file.json
您的JSON文件中的结构应如下所示:
{
"AnalysisSchemeName": "<your-scheme-name>",
"AnalysisSchemeLanguage": "en",
"AnalysisOptions": {
"AlgorithmicStemming": "none"|"minimal"|"light"|"full",
"JapaneseTokenizationDictionary": "",
"Synonyms": "{\"aliases\":{\"baseball\":[\"sport\"],\"basketball\":[\"sport\"],\"football\":[\"sport\"],\"mexican\":[\"food\"],\"pepper\":[\"food\"],\"grill\":[\"food\"]},\"groups\":[[\"travel\",\"vacation\",\"relax\",\"trip\",\"getaway\"],[\"happy\",\"cheerful\",\"joy\",\"joyful\"]]}",
"StemmingDictionary": "{}",
"Stopwords": "[\"a\",\"an\"]"
}
}
我留下了一些同义词数据,以显示如何为别名和组以及停用词的结构添加数据。
可在define-analysis-scheme的AWS CLI命令参考页面上找到更多详细信息。