问题标签 [amazon-cloudsearch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
511 浏览

amazon-cloudsearch - AWS CloudSearch 查询

这是一个简单的问题,但我找不到任何关于此的文档,或者甚至可能。

我知道您需要对文档端点的请求进行签名,但是是否可以对搜索端点执行相同的操作?

我需要这个,因为我想私下允许从应用程序内部进行搜索,但我不希望外界搜索这些数据。

我知道我可以通过 IP 地址进行限制,但这会受到限制,因为机器是共享的,不会限制其他人使用该 IP 地址。我也知道我可以代理请求并对代理进行检查。

最好的解决方案是以与我签署文档推送相同的方式为我签署搜索。

这甚至可能吗?

0 投票
1 回答
1788 浏览

amazon-cloudsearch - 添加字段是否会重新索引所有文档的所有字段?

我有一个包含三个索引字段的大型 CloudSearch 域(5m 文档)。

我想将默认搜索字段设置为一个新的空字段(根据)。如果我添加此字段,现有文档中的所有字段都会重新编制索引吗?

我要小心,因为我不想在重新索引时产生大笔费用。

0 投票
1 回答
163 浏览

amazon-cloudsearch - Amazon CloudSearch 中文字与 int 的价格

我正在设计搜索域,这是我的问题:我有几列不需要可搜索、可返回或分面。它们只有几个可能的值,将在 fq 参数中用作过滤器。问题是:使用哪种数据类型?整数还是字面量?

我将使用文字获得更可维护的解决方案,因为 int 会在我的代码中引入对其他数据库/枚举的外部依赖。但是使用文字会增加价格吗?多少钱?在 CS 文档中找不到答案。

0 投票
2 回答
1864 浏览

amazon-web-services - AWS CloudSearch Java API

我们在 AWS 云中使用 EC2 和 RDS(MySQL)。计划使用 Amazon CloudSearch 进行全文搜索。看起来,每当我们在 MySQL 中添加新行时,我们都需要将数据发送到 CloudSearch。它是一种使 CloudSearch 与 RDS 保持同步的 2 操作。一个向 RDS 添加一行,第二个操作向 CloudSearch 添加相同的数据(当然以不同的格式)。如果有任何其他好的方法,请建议我。

我正在为要添加的 AWS java api 寻找好的材料和工作示例,向 cloudsearch 提供文档,并在 RDS 有更新时更新/删除文档。

谢谢, Baskar.S

0 投票
0 回答
434 浏览

amazon-web-services - Amazon CloudSearch 中的词干提取和同义词有什么区别?

我目前正在研究如何定制云搜索分析方案以提供更相关的搜索结果。(我认为)我理解词干和同义词之间的概念差异。词干要么是派生词,例如“walk、walking、walked”,要么是去复数形式,例如“Company, Companies”,从搜索的角度来看,您可能希望将其视为同一个词。同义词当然只是具有相同含义的词(或含义足够接近以至于用户可以混合和匹配术语),例如“公司、企业、业务”或“电子邮件、消息”。

如果我错了,请在上面纠正我。

我更想知道,从功能的角度来看,当建立索引并执行搜索时,词干与同义词的处理方式有何不同?我可以在我的同义词列表中包含像“walk,walking,walked”这样的衍生词并且在功能上没有区别吗?

0 投票
1 回答
777 浏览

solr - 使用 Cloudsearch/Solr 进行报告

是否可以使用 Cloudsearch/Solr 引擎生成报告(使用分面搜索)?是否有一种生成自定义数据报告(接近实时)的好方法,即使在此数据包含最终用户创建的标签(数量不限)的情况下?

0 投票
1 回答
162 浏览

search - Recommend an effective search engine for 50M documents?

We've got 50,000,000 (and growing) documents which we want to be able to search.

Each "document" is in reality a page of a larger document, but the granularity required is at the page level.

Each document therefore has a few bits of metadata (e.g., which larger document it belongs to)

We originally built this using Sphinx which has served quite well, but is getting slow, despite having quite generous hardware thrown at it (via Amazon AWS).

There are new requirements coming through that mean we have to be able to pre-filter the database before searching, i.e. to search only a subset of the 50M documents based on some aspect of the metadata (e.g., "search only documents added in the last 6 months", or "search only these documents belonging to this arbitrary list of parent documents")

One significant requirement is that we group search results by parent document, e.g. to return only the first match in a parent document in order to show the user a wider range of parent documents that match in the first page of results, rather than loads of matches in the first parent document followed by loads of matches in the second, etc. We would then give the user the option to search pages within only one specific parent document.

The solution doesn't have to be "free" and there is a bit of budget to spend.

The content is sensitive and needs to be protected so we can't simply let Google index it for us, at least not in any way that would allow the general public to come across it.

I've looked at using Sphinx with even more resources (putting an index of 50M documents into memory is sadly not an option within our budget) and I've looked at Amazon CloudSearch but it seems that we'd have to spend >$4k per month and that's beyond the budget.

Any suggestions? Something deployable within AWS is a bonus. I'm aware that we may be asking for the unobtainable but if you think that's the case, please say so (and give reasons!)

0 投票
1 回答
412 浏览

java - 尝试使用 java sdk 更新 CloudSearch 中的服务访问策略

我正在尝试在 java 代码中更新 Amazon CloudSearch 域的访问策略,这似乎是可能的,但似乎缺少它的 API。到目前为止,我的代码是:

UpdateServiceAccessPoliciesRequest 只接受两个参数:CloudSearch 域(一个字符串)和访问策略(另一个字符串)。

'withAccessPolicy' 的在线文档和 javadoc 都有这样的说法: “您要配置的访问规则。这些规则替换现有规则。”

您应该在此处使用单个字符串定义多个访问规则这一事实意味着 UpdateServiceAccessPoliciesRequest 类是用于 http 请求的多设计容器,我可以忍受,但有人知道什么是“访问策略”在这种情况下更新字符串看起来像?

我正在使用 AWS Java SDK 版本 1.7.9,我几乎肯定它使用了 CloudSearch REST API 版本 2013-01-01。

0 投票
1 回答
1049 浏览

amazon-web-services - 在 CloudSearch 中查询字段是否存在

假设我在 CloudSearch 中索引的文档列表中有一个名为“xyz”的可选字段。

如何查询 CloudSearch 以使其仅返回那些包含“xyz”的文档?

如果我事先知道它是一个正整数,我可能会做这样的事情来获得所需的列表: q=xyz:[0,}&q.parser=structured

但是,如果“xyz”存储了一些其他类型,如字符串或整数/字符串列表等,我该怎么办?

顺便说一句,我以前使用过 Solr,在那里,我可以简单地q=xyz:*做到这一点。CloudSearch 是否支持这样的正则表达式?

0 投票
3 回答
3019 浏览

solr - 将 RDS 表数据直接导入 Amazon Cloudsearch

我有一个 RDS 数据库,其中包含一个表,其中包含我想要搜索的几列中的大量数据(有些包含地理空间数据)。SQL 查询和该数据的良好覆盖索引仍然太慢,无法用于 AJAX 类型提前建议字段之类的东西。

因此,我正在研究搜索选项并遇到了 Amazon CloudSearch(现在由 Apache Solr 提供支持),它似乎符合我的需求。问题是,我似乎无法通过 AWS 控制台找到从 RDS 导入或提供数据的方法。我错过了什么吗?ElasticSearch 等其他解决方案具有river连接转换 MySQL 数据的插件。

我知道有用于将 CSV 和 XML 数据上传到 CloudSearch 的命令行工具。到目前为止,我能找到的最简单的方法是将 mysqldump 表转换为 CSV 或 XML 格式,然后使用 CLI 工具手动加载它。这是一些重复发生的 cron 工作获取数据的最佳方式吗?