哈尔滨市哪里做淘宝网站app软件开发专业公司

news/2025/9/23 16:30:33/文章来源:
哈尔滨市哪里做淘宝网站,app软件开发专业公司,上海企业一户式查询,营销型网站成功案例gkz cloud sql许多Google AppEngine开发人员一直在等待全文搜索功能#xff0c;特别是来自网络上最大的搜索引擎Google。 我很高兴看到Google团队正在努力#xff0c;您可以在Google I / O 2011会议上查看#xff1a;Bo Majewski和Ged Ellis进行的全文本搜索 。 据我所知特别是来自网络上最大的搜索引擎Google。 我很高兴看到Google团队正在努力您可以在Google I / O 2011会议上查看Bo Majewski和Ged Ellis进行的全文本搜索 。 据我所知非常有前途的索引服务尚不可用。 在本文中我将说明如何使用可用的App Engine服务在应用程序中提供某种全文本搜索。 在我的特定用例中我不需要很多功能只需要简单地在与实例无关的情况下在我的实体的各种属性中搜索字符串以及可能的特殊字符例如èé…。 我还远不是Google Datastore API的专家但我没有找到直接使用Java API实现此目标的任何简单方法。 解决此问题的方法是将部分数据复制到Google Cloud SQL中以使用MySQL全文搜索功能。 先决条件 要完成以下任务您需要 安装Google AppEngine SDK for Java 安装MySQL 5.5 具有AppEngine和Cloud SQL服务的Google帐户。 可选 Eclipse插件用于开发调试和部署我的Web应用程序到GAE 内容 在以下各段中我将解释用于全文搜索的Cloud SQL集成的基础知识但是如果需要可以跳至 完整的应用程序代码 https : //github.com/tgrall/gae-full-text-search 看一下正在运行的应用程序 http : //gae-fulltext-search.appspot.com/ 1.创建文章实体 首先创建一些具有某些属性的简单实体例如具有标题和正文属性的实体名称Article。 import com.google.appengine.api.datastore.DatastoreService; import com.google.appengine.api.datastore.DatastoreServiceFactory; import com.google.appengine.api.datastore.Entity;//... //...Entity article new Entity(Article);article.setProperty(title, MySQL Tutorial);article.setProperty(body, DBMS stands for DataBase ...);datastore.put(article);article new Entity(Article);article.setProperty(title, Datastore Index Selection and Advanced Search);article.setProperty(body, Learn how recent improvements to the query planner ... function in your application);datastore.put(article); 如果您查看数据存储区API甚至JDO或JPA就没有简单的方法来查找与铁人三项数据库或实体相关的所有文章。 Google DataStore不支持在不同字段之间使用“或”的子句 我不想提及一个事实即不可能以简单的方式忽略文本大小写。 这就是为什么我们需要一些全文功能。 你们中的某些人肯定在考虑使用Apache Lucene来解决问题是的这是可能的。 例如您可以使用GAELucene项目 http : //code.google.com/p/gaelucene/ 。 我使用另一种方法在“索引/搜索”选项方面可能不太先进但足以满足我的用例 我将要在其中进行搜索的文本值存储在Google Cloud SQL中并使用MySQL的“全文本”功能。 2.创建一个SQL表来存储文本值在开发环境中 使用Google AppEngine时将使用特定的驱动程序和配置访问Cloud SQL实例我们将在以后看到。 目前我们仍处于开发环境中这是您必须使用本地MySQL实例的地方。 在这个特定的用例中我们将在表中复制这两个字段并基于实体键添加一个新的唯一键。 所以在这里用SQL创建这个 CREATE SCHEMA search_values DEFAULT CHARACTER SET utf8 ;USE search_values;CREATE TABLE articles (entity_key varchar(250),title text,body text,PRIMARY KEY RESULTS_PK (entity_key),FULLTEXT (title,body) ) ENGINEMyISAM DEFAULT CHARSETutf8; 第1行和第3行在这里创建数据库模式并使用它。 然后脚本将创建一个表其中将包含来自实体的标题和正文的副本。 3.配置您的开发环境 本部分是Cloud SQL文档的简短说明 入门Java 将MySQL JDBC驱动程序复制到/lib/impl/下的Google App Engine SDK目录中。 您可以在此处下载MySQL JDBC驱动程序。 在Eclipse中选择您的Java包。 单击运行 运行配置 。 展开“ Web应用程序”菜单项。 将以下行添加到“ VM参数”窗格中 -Drdbms.serverlocal -Drdbms.drivercom.mysql.jdbc.Driver -Drdbms.urljdbc:mysql://localhost:3306/search_values?userusernamepasswordpassword 单击类路径选项卡。 选择您的项目然后单击“ 添加外部JAR”。 导航到Google App Engine SDK目录然后导航到lib/impl 然后选择JDBC驱动程序JAR文件。 点击打开 。 驱动程序JAR在“ 用户条目”下列出 。 点击应用 。 现在您的开发环境已准备就绪可以使用本地MySQL数据库了。 现在使用此数据库。 4.使用您MySQL表并将文本值从Google Datastore复制到MySQL表 将数据从数据存储区实体复制到表非常简单 Connection conn null;try {DriverManager.registerDriver(new AppEngineDriver());conn DriverManager.getConnection(jdbc:google:rdbms://[your db instance]/search_values);conn.setAutoCommit(false); String statement REPLACE INTO articles (entity_key, title, body) VALUES( ? , ? , ? );PreparedStatement stmt conn.prepareStatement(statement);DatastoreService datastore DatastoreServiceFactory.getDatastoreService();Query q new Query(Article); PreparedQuery pq datastore.prepare(q);// loop on each entity and insert the values in the SQL Tablefor (Entity result : pq.asIterable()) {stmt.setString(1, KeyFactory.keyToString(result.getKey()) );stmt.setString(2, result.getProperty(title).toString() );stmt.setString(3, result.getProperty(body).toString() );stmt.executeUpdate();conn.commit();}} catch (SQLException e) {e.printStackTrace();} finally {if (conn ! null)try {conn.close();} catch (SQLException ignore) {}} 与标准的Java Web Development相比这里有一些特别的东西 我直接在代码中管理连接 如果可以在Google AppEngine的上下文中使用数据源/连接池我还没有看过 第3行注册负责管理连接的AppEngine驱动程序特别是在开发-本地MySQL-或生产模式-CloudSQL-中工作。 第4行获取连接。 有趣的是在开发中连接URL是从您先前设置的环境变量Drdbms.url中获取的。 稍后我们将看到如何将其转移到云中。 这是AppEngineDriver的神奇部分它可以根据上下文管理不同的连接类型Local MySQL或CloudSQL 在这些行之后代码非常简单 从数据存储区获取所有Articles实体并循环 “更新”数据库记录REPLACE INTO语法 第15行使用KeyFactory.keyToString方法将实体的Key存储在安全的字符串中。 如果要测试此代码只需将此行放在servlet中以将数据存储中的数据“ sycnhronize”到MySQL表中。 显然这些代码只是在这里用于学习建议应该以更好的方式集成到实际应用程序中。 首先是在创建/更新和删除;实体时将数据推送到数据库中。 GitHub上的示例代码包含这些方法。 5.实施搜索方法 目标是简单返回由简单搜索条件返回的实体列表 公共Iterable searchEntities字符串查询 逻辑很简单 执行SQL查询 对于每个结果请使用密钥获取实体 返回实体列表 public IterablesearchEntity(String query) {List results new ArrayList();Connection conn null;try {DriverManager.registerDriver(new AppEngineDriver());conn DriverManager.getConnection(jdbc:google:rdbms://[your db instance]/search_values);String statement SELECT entity_key FROM articles WHERE MATCH (title,body) AGAINST (? WITH QUERY EXPANSION);;PreparedStatement stmt conn.prepareStatement(statement);stmt.setString(1, query);ResultSet rs stmt.executeQuery();while (rs.next()) {String keyAsString rs.getString(1); Entity article DatastoreServiceFactory.getDatastoreService().get( KeyFactory.stringToKey(keyAsString) );results.add(article);}} catch (SQLException e) {e.printStackTrace();} catch (EntityNotFoundException e) {e.printStackTrace();} finally {if (conn ! null)try {conn.close();} catch (SQLException ignore) {}}return results;} 在这种方法中系统连接到数据库然后执行查询以使用任何类型SQL / MySQL查询搜索数据。 在此示例中我将全文功能与“ WITH QUERY EXPANSION ”一起使用。 如果这足以满足您的应用程序需求那么显然可以使用任何类型SQL查询例如简单的LIKE语句。 通过这种方法当我搜索 “数据库”该方法独立于大小写返回有关数据库mysqlRDBMS的所有文章。 “索引”该方法返回所有有关索引/索引或搜索的文章。 6.部署到GAE 一旦创建了应用程序并激活并配置了CloudSQL实例 在此处 就可以部署应用程序并享受将全文搜索与GAE结合使用的简便方法。 结论 在本文中我解释了如何基于MySQL对全文的支持使用Google Cloud SQL轻松支持全文搜索查询。 我在本文中分享的代码段确实是基本的还没有为实际使用做好准备但仍然是一个不错的起点。 例如我在我的GAE Queues应用程序中一直使用它来管理大量数据的索引。 如前所述您可以在http://gae-fulltext-search.appspot.com/上在线测试该应用程序并且源代码可在GitHub上找到 https : //github.com/tgrall/gae-full-text-搜索 参考来自Tug博客博客的JCG合作伙伴 Tugdual Grall 使用Google Cloud Cloud SQL进行Google AppEngine全文搜索 。 翻译自: https://www.javacodegeeks.com/2012/06/google-app-engine-full-text-search-with.htmlgkz cloud sql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913163.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网易NDH大数据平台使用经验

网易NDH大数据平台使用经验网易NDH大数据平台是基于Hadoop、HDFS、Hive、Spark、Impala、Yarn等开源组件进行二次开发的大数据套件,具有数据集成、开发运维、规范建模、数据治理、数据服务等功能的一站式数据开发治理…

专题类网站坪山区坪山街道六联社区

文章目录 前言1.第一次尝试1.1服务被调用方更新1.2压测第一次尝试1.3 问题分析1.4 同步的不是最新列表 2.第二次尝试2.1调用方过滤下线服务2.2压测第二次尝试2.3优化 写到最后 前言 在上文的基础上,通过压测的结果可以看出,使用DiscoveryManager下线服务…

免费入驻的网站设计平台网站开发静态和动态

[react] 在React中你有遇到过安全问题吗?怎么解决? dangerouslySetInnerHTML预防xss攻击 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

公司网页制作网站怎么设置网站

目录 传送参数页面接受参数页面最后 uniapp全局事件&#xff0c;也就是说&#xff0c;不相邻的&#xff0c;不是父子组件&#xff0c;也可以传递参数。 一个组件&#xff0c;传递项目内所有文件其中一个里面内&#xff0c;可以接受到参数。 传送参数页面 <template><…

做网站用模板专题制作 wordpress

&#x1f345; 作者主页&#xff1a;Java李杨勇 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java李杨勇公号作者✌ 简历模板、学习资料、面试题库、技术互助【关注我&#xff0c;都给你】 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f…

厦门做商城网站网站宣传册

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

网站维护员工作内容代理网页免费

av_packet_unref 该接口使用了如下调用,该接口主要作用是清理AVPacket中的所有空间数据&#xff0c;清理完毕后进行初始化操作&#xff0c;并且将 data 与 size 置为0&#xff0c;方便下次调用。 void av_packet_unref(AVPacket *pkt) {av_packet_free_side_data(pkt);av_buf…

找什么公司做网站怎么自己弄一个公众号

选择合适的扫描仪是进行档案数字化的关键步骤。以下是一些选择合适扫描仪的要点&#xff1a; 1. 扫描速度&#xff1a;选择具有合适的扫描速度的扫描仪&#xff0c;以便能够快速处理大量的文件。 2. 扫描分辨率&#xff1a;扫描分辨率决定了扫描后图像的清晰度。对于大多数文档…

飞书对程序员下手了,0 代码生成各类系统!!(附保姆级项目实战教程)

大家好,我是R哥。 之前我分享了飞书多维表格的妙用:飞书对程序员下手了,0 代码生成各类系统!!包括以下两个重点: 1、飞书多维表格无需下载飞书也能直接使用了,打开 base.feishu.cn 就可以直接使用飞书多维表格。…

Adaptix C2:跨平台渗透测试与对抗仿真框架

Adaptix C2是一个可扩展的后渗透和对抗仿真框架,专为渗透测试人员设计。采用Golang服务端和C++ QT客户端架构,支持Linux、Windows和MacOS多平台操作,提供完整的加密通信、插件化监听器和代理管理功能。项目描述 Ada…

wordpress发布插件太原网站seo

指纹由于其终身不变性、唯一性和方便性&#xff0c;几乎已成为生物特征识别的代名 词。通常我们说的指纹就是人的手指末端正面皮肤上凸凹不平的纹线&#xff0c;纹线规律地排列 形成不同的纹型。而本节所讲的指纹是指网站CMS 指纹识别、计算机操作系统及W eb 容器的指纹识别等…

ncpa.cpl 意义 这个名称的

ncpa.cpl 意义 这个名称的ncpa.cpl 其实是 Windows 控制面板小程序 (Control Panel item) 的文件名。全称含义:nc → Network Connections(网络连接)pa → Panel Applet(控制面板小程序).cpl → Control Panel ex…

国标GB28181软件EasyGBS网页直播平台在邮政快递场景的落地与应用

国标GB28181软件EasyGBS网页直播平台在邮政快递场景的落地与应用随着电子商务的迅猛发展,邮政快递行业迎来了前所未有的发展机遇,但同时也面临着诸多挑战。如何在保障货物安全、提高运输效率的同时,实现全面的监控和…

做网站的软件下载做知乎网站要多少钱

文章目录 1. 数据的关联与合并1.1 join关联1.1.1 内关联1.1.2 左关联1.1.3 右关联 1.2 Union合并 2. 缓存和checkpoint 1. 数据的关联与合并 1.1 join关联 students表数据&#xff1a; 1.1.1 内关联 内关联只返回两个 DataFrame 中在连接键上匹配的行。 # join 关联 from…

创建了网站黄石网站建设黄石

文章目录 引言复习完全背包问题——买书个人实现 状态转换机——股票买卖V个人实现参考实现 新作两数相除个人实现 新作LRU缓存实现个人实现unordered_map相关priority_queue相关 参考实现自己复现 总结 引言 今天知道拼多多挂掉了&#xff0c;难受&#xff0c;那实习就是颗粒无…

长沙教育网站开发秦皇岛建网站

哈希表是种数据结构&#xff0c;它可以提供快速的插入操作和查找操作。第一次接触哈希表时&#xff0c;它的优点多得让人难以置信。不论哈希表中有多少数据&#xff0c;插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上&#xff0c;这只需要几条机器指令。…

做网站一定要买主机吗wordpress书库插件

jquery 实现双击编辑并保存Jesse2013-12-11 19:47:001153最近在做一个数据修改的例子&#xff0c;一个个点开修改很麻烦&#xff0c;于是就想到ecshop后台里的 只需单击就以编辑了&#xff0c;在网上查阅资料&#xff0c;就想到双击修改&#xff0c;失去鼠标焦点后post执行HTML…

北京wap网站建设wordpress重复评论

null可赋值任何变量,将变量置为空 DBNull只用于DataRow对象,表示数据库中的空值 String.Empty是0长度字串 Convert.IsDBNull判断是否为DBNull DBNull.Value与Null的区别 Null是.net中无效的对象引用。 DBNull是一个类。DBNull.Value是它唯一的实例。它指数据库中数据为空(&l…

做视频网站注意什么天津工程网站建设

一、峰会简介 近年来&#xff0c;以云计算、移动互联网、物联网、工业互联网、人工智能、大数据及区块链等新一代信息技术构建的智能化应用和产品出现爆发式增长&#xff0c;突破了对于软件形态的传统认知&#xff0c;正以各种展现方式诠释着对新型智能软件的定义。这也使得对…