在AWS CloudSearch控制台的“文本选项”面板中,您可以通过文本字段输入向搜索索引添加停用词,词干和同义词。我可以上传471个停用词,但不能再上传。当我尝试时,上传超时并报告以下javascript错误:
Uncaught TypeError: Cannot read property 'Error' of null in cs.201212282103.js
我假设我已达到极限。这记录在哪里?我也有一大堆同义词,我希望上传。同义词是否有限制?是否有其他方法可以上传停用词,词干和同义词 - 例如API?
是的,有限制你可以在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.
但我没有确认你有限制问题,我只是回答其他问题。像你指出的可能是控制台的临时问题。
CloudSearch Console有一个错误(显然6年后还没有修复)。幸运的是,您可以使用AWS CLI来解决问题。
我在尝试添加一些新的同义词时遇到了这个问题。我担心我会遇到某种限制,因为我可以将相同的同义词添加到只有少数同义词的测试分析方案中。但在阅读了埃弗顿的answer之后,我看到我的同义词词典没有接近100 KB的限制。而且我怀疑OP是否达到了限制(但是在一定数量的数据之后javascript确实失败了,所以这是一个人为限制)。
因此,我联系了AWS Support,他要求我尝试使用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命令参考页面。