如何使用.net代码执行Amazon Cloud Search?

2023-12-07

我正在学习 Amazon Cloud Search,但找不到任何 C# 或 Java 代码(尽管我正在使用 C# 创建,但如果我可以获取 Java 代码,那么我可以尝试使用 C# 进行转换)。

这只是我在 C# 中找到的 1 段代码:https://github.com/Sitefinity-SDK/amazon-cloud-search-sample/tree/master/SitefinityWebApp.

这是我在这段代码中找到的 1 个方法:

 public IResultSet Search(ISearchQuery query)
        {
            AmazonCloudSearchDomainConfig config = new AmazonCloudSearchDomainConfig();
            config.ServiceURL = "http://search-index2-cdduimbipgk3rpnfgny6posyzy.eu-west-1.cloudsearch.amazonaws.com/";
            AmazonCloudSearchDomainClient domainClient = new AmazonCloudSearchDomainClient("AKIAJ6MPIX37TLIXW7HQ", "DnrFrw9ZEr7g4Svh0rh6z+s3PxMaypl607eEUehQ", config);
            SearchRequest searchRequest = new SearchRequest();
            List<string> suggestions = new List<string>();
            StringBuilder highlights = new StringBuilder();
            highlights.Append("{\'");

            if (query == null)
                throw new ArgumentNullException("query");

            foreach (var field in query.HighlightedFields)
            {
                if (highlights.Length > 2)
                {
                    highlights.Append(", \'");
                }

                highlights.Append(field.ToUpperInvariant());
                highlights.Append("\':{} ");
                SuggestRequest suggestRequest = new SuggestRequest();
                Suggester suggester = new Suggester();
                suggester.SuggesterName = field.ToUpperInvariant() + "_suggester";
                suggestRequest.Suggester = suggester.SuggesterName;
                suggestRequest.Size = query.Take;
                suggestRequest.Query = query.Text;
                SuggestResponse suggestion = domainClient.Suggest(suggestRequest);
                foreach (var suggest in suggestion.Suggest.Suggestions)
                {
                    suggestions.Add(suggest.Suggestion);
                }
            }

            highlights.Append("}");

            if (query.Filter != null)
            {
                searchRequest.FilterQuery = this.BuildQueryFilter(query.Filter);
            }

            if (query.OrderBy != null)
            {
                searchRequest.Sort = string.Join(",", query.OrderBy);
            }

            if (query.Take > 0)
            {
                searchRequest.Size = query.Take;
            }

            if (query.Skip > 0)
            {
                searchRequest.Start = query.Skip;
            }

            searchRequest.Highlight = highlights.ToString();
            searchRequest.Query = query.Text;
            searchRequest.QueryParser = QueryParser.Simple;

            var result = domainClient.Search(searchRequest).SearchResult;

            //var result = domainClient.Search(searchRequest).SearchResult;

            return new AmazonResultSet(result, suggestions);
        }

我已经使用 AWS 控制台在 Amazon Cloud Search 中创建了域,并使用 Amazon 预定义配置选项上传了文档,即电影 Imdb json亚马逊提供的演示文件。

但在这种方法中,我不知道如何使用这种方法,就像我想搜索一样Directorname 那么我如何传入这个方法,因为这个方法参数是类型搜索查询?


我建议使用官方的AWS CloudSearch .NET 软件开发工具包。您正在查看的库似乎不错(虽然我没有查看任何细节),但官方版本更有可能在发布后立即公开新的 CloudSearch 功能,如果您需要与 AWS 交谈,将得到支持支持等等

具体来说,看看搜索请求类——它的所有参数都是字符串,所以我认为这消除了你关于 ISearchQuery 的问题。

我无法在 .NET 中找到查询的示例,但是this显示某人使用 AWS .NET SDK 上传文档。它本质上与查询过程相同:创建和配置 Request 对象并将其传递给客户端。

EDIT: 既然你仍然遇到困难,这里有一个例子。请记住,我不熟悉 C#,也没有尝试运行甚至编译它,但我认为它至少应该接近工作。它基于查看文档http://docs.aws.amazon.com/sdkfornet/v3/apidocs/

// Configure the Client that you'll use to make search requests
string queryUrl = @"http://search-<domainname>-xxxxxxxxxxxxxxxxxxxxxxxxxx.us-east-1.cloudsearch.amazonaws.com";
AmazonCloudSearchDomainClient searchClient = new AmazonCloudSearchDomainClient(queryUrl);

// Configure a search request with your query
SearchRequest searchRequest = new SearchRequest();
searchRequest.Query = "potato";
// TODO Set your other params like parser, suggester, etc

// Submit your request via the client and get back a response containing search results
SearchResponse searchResponse = searchClient.Search(searchRequest);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用.net代码执行Amazon Cloud Search? 的相关文章

  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 使用架构注册表对 avro 消息进行 Spring 云合约测试

    我正在查看 spring 文档和 spring github 我可以看到一些非常基本的内容examples https github com spring cloud samples spring cloud contract sample
  • HashMap 值需要不可变吗?

    我知道 HashMap 中的键需要是不可变的 或者至少确保它们的哈希码 hashCode 不会改变或与另一个具有不同状态的对象发生冲突 但是 HashMap中存储的值是否需要与上面相同 为什么或者为什么不 这个想法是能够改变值 例如在其上调
  • 在 SWT/JFace RCP 应用程序中填充巨大的表

    您将如何在 SWT 表中显示大量行 巨大是指超过 20K 行 20 列的东西 不要问我为什么需要展示那么多数据 这不是重点 关键是如何让它尽可能快地工作 这样最终用户就不会厌倦等待 每行显示某个对象的实例 列是其属性 一些 我想使用 JFa
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • 是否可以使用 Java Guava 将函数应用于集合?

    我想使用 Guava 将函数应用于集合 地图等 基本上 我需要调整 a 的行和列的大小Table分别使所有行和列的大小相同 执行如下操作 Table
  • std::bind 重载解析

    下面的代码工作正常 include
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • Qt - 设置不可编辑的QComboBox的显示文本

    我想将 QComboBox 的文本设置为某些自定义文本 不在 QComboBox 的列表中 而不将此文本添加为 QComboBox 的项目 此行为可以在可编辑的 QComboBox 上实现QComboBox setEditText cons
  • 从匿名类型获取值

    我有一个方法如下 public void MyMethod object obj implement 我这样称呼它 MyMethod new myparam waoww 那么我该如何实施MyMethod 获取 myparam 值 Edit
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • 以编程方式使用自定义元素创建网格

    我正在尝试以编程方式创建一个网格 并将自定义控件作为子项附加到网格中 作为 2x2 矩阵中的第 0 行第 0 列 为了让事情变得更棘手 我使用了 MVVM 设计模式 下面是一些代码可以帮助大家理解这个想法 应用程序 xaml cs base
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数
  • Spring表单ModelAttribute字段验证避免400 Bad Request错误

    我有一个ArticleFormModel包含正常发送的数据html form由 Spring 使用注入 ModelAttribute注释 即 RequestMapping value edit method RequestMethod PO

随机推荐

  • BigQuery 不处理带有分区列的毫秒时间戳

    我有一个 unix 时间戳列 在我的 csv 文件中以毫秒表示 现在 当我在 bigQuery 表中插入这些数据并查询它时 我收到此错误 bigQuery 不支持毫秒时间戳 现在我想将此列作为分区列 我有几个问题 1 即使我将其保存为int
  • 使用 Discord.js 获取所有公会 ID

    所以我想从我的机器人所在的服务器获取每个 ID 请以最好的方式列出一个列表 这样我就可以得到一个又一个的 ID 因为我的前缀系统需要它们 我尝试了很多设计 但效果都不理想 您可以使用Collection map to map Client
  • d3JS:从 CSV 绘制线段

    在 d3Js 中 如何从 tsv 文件中绘制基本线段 假设文件在一行数据中声明 x1 y1 x2 y2 我想绘制两条线段 如下面的数据所示 x0 y0 x1 y1 weight 0 5 0 5 0 2 0 2 2 0 25 0 35 0 7
  • 使用 IDE 时从 Powershell 调用第 3 方可执行文件时出错

    我有一个使用 du exe 的 PowerShell 脚本 磁盘使用情况最初来自 Sysinternals 来计算目录的大小 如果我跑du c Backup在控制台中 它按预期工作 但在 ISE 或 PowerGui 中运行的同一行代码给出
  • 股票代码查找 API [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 是否有某种 API 只提供
  • 从 IOS 将图像发送到 asp.net Web 服务

    在我的 IOS 应用程序中 我需要将图像发送到 ASP NET Web 服务 我正在尝试以字节形式存储图像 然后在服务器端将其转换回图像形式 现在我正在使用这些行将图像转换为 IOS 中的字节 NSData imageData UIImag
  • C++ 中无法识别 foreach

    在我的 cs106b 书中 我们使用表达式 foreach 来遍历 Map 中的单词列表 我实现了代码 然后把头撞在墙上 面对神秘的错误 这是代码 void DisplayWordCounts Map
  • Electron 回调只能调用一次

    我有一个简单的电子应用程序 它包含一个提示输入用户名和密码的网络应用程序 问题 1 当用户输入错误的凭据并且authWindow再次出现时 使用正确的凭据 不会发生第二次登录 2 当用户两次输入错误的凭据时 authWindow不再出现 任
  • 将解析后的数据提供给 RKMapperOperation 会抛出 NSUnknownKeyException

    请参阅我的其他问题了解背景 RestKit的动态映射能解决这个复杂的JSON映射吗 由于服务器构造我需要转换成的 json 数据的方式NSManagedObjects 我传递解析后的 json 来执行直接对象映射 如下所示 RKObject
  • 如何在jquery中单击时将轮播项目移动到中间

    如何使旋转木马将我点击到中间的项目居中 我到处寻找答案 但它们都不是直接的答案 有人可以帮助我吗 这是我到目前为止所做的 http jsfiddle net sp9Jv HTML div div a href class prev prev
  • 是否可以使用自动布局获取动态表视图部分标题高度?

    iOS 8 中的新增功能 您只需设置估计行高即可获得 100 动态表格视图单元格 然后使用自动布局在单元格中布局元素 如果内容的高度增加 单元格的高度也会增加 这非常有用 我想知道表视图中的节标题是否可以实现相同的功能 例如 可以创建一个U
  • 部署使用 PCRE 库的 C 应用程序

    我编写了一个使用 PCRE 库的 C 应用程序 一切都在我自己的电脑上运行 但是 当我将二进制文件复制到另一台计算机并运行它时 会出现以下错误 libexec ld elf so 1 未找到 myapp 所需的共享对象 libpcre so
  • 延迟作业 Rake 任务失败

    我试图让延迟的工作作为一项佣金任务来工作 但我一生都无法弄清楚我做错了什么 给出以下设置 config environment rb Rails Initializer run do config config gem delayed jo
  • Entity Framework Code First 流畅 API 在 for 循环中设置字段属性

    我正在使用实体框架代码优先创建数据库表 我的模型类有十个小数字段 目前我正在像这样设置字段属性OnModelCreating method modelBuilder Entity
  • java.lang.ClassNotFoundException:未找到类

    我的接收器遇到这个问题 10 03 15 38 34 238 E AndroidRuntime 32219 FATAL EXCEPTION main 10 03 15 38 34 238 E AndroidRuntime 32219 jav
  • 如何从 Azure 数据工厂中查找活动的输出中删除转义字符?

    我正在从 Azure 数据工厂中的 SQL 数据库读取 JSON 数据 我有 Azure 数据工厂 ADF 管道 包含 查找 活动 它从 SQL DB 读取 JSON 数据并将其引入 ADF 管道 当我看到 ADF 的 Lookup 活动的
  • $_POST 的问题,如果 isset() 和 mysql_fetch_assoc():echo 返回正确的值,页面源总是返回 else 值

    这个问题作为一个不同的线程开始 但经过大量搜索和缩小问题范围后 它已经发生了很大的变化 因此我认为开始一个新问题可能与回到旧问题的链接相关 即 变量连接的 mysql 查询字符串在 phpMyAdmin 中运行良好 但在脚本中运行 PHP
  • 使用 data.table 中的列名选择多个范围的列

    假设我有一个数据表 dt data table matrix 1 50 nrow 5 colnames dt letters 1 10 gt dt a b c d e f g h i j 1 1 6 11 16 21 26 31 36 41
  • C - strcmp 分段错误?

    我似乎在 strcmp 函数的某个地方遇到了分段错误 我对 C 还很陌生 我不明白为什么它会给我这个错误 int linear probe htable h char item int k int p int step 1 do p k s
  • 如何使用.net代码执行Amazon Cloud Search?

    我正在学习 Amazon Cloud Search 但找不到任何 C 或 Java 代码 尽管我正在使用 C 创建 但如果我可以获取 Java 代码 那么我可以尝试使用 C 进行转换 这只是我在 C 中找到的 1 段代码 https git