AWS CloudSearch - 您可以添加的停用词和同义词的数量是否有限制?

时间:2013-01-15 10:02:17

标签: amazon-web-services amazon-cloudsearch

在AWS CloudSearch控制台的“文本选项”面板中,您可以通过文本字段输入向搜索索引添加停用词,词干和同义词。我可以上传471个停用词,但不能再上传。当我尝试时,上传超时并报告以下javascript错误:

Uncaught TypeError: Cannot read property 'Error' of null in cs.201212282103.js

我假设我已达到极限。这记录在哪里?我也有一大堆同义词,我希望上传。同义词是否有限制?是否有其他方法可以上传停用词,词干和同义词 - 例如API?

2 个答案:

答案 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命令参考页面上找到更多详细信息。