首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >适用于大量字符串比较的最佳语言

适用于大量字符串比较的最佳语言
EN

Stack Overflow用户
提问于 2011-01-28 13:25:07
回答 3查看 669关注 0票数 1

我正在启动一个网站,该网站将从Twitter API中获取大量数据。然后,我想在从API获得的tweet中查找某些短语。我想知道最好的语言是什么。我的大部分知识都是用PHP编写的,但从我过去读到的内容来看,我更倾向于使用python。就像我之前说的,我将寻找某些短语,所以我想使用一些类似于PHP的strpos函数。我正在寻找一种语言,将具有最快的处理时间。我还将使用此代码执行大量插入,但我认为字符串处理将占用大部分时间,因此我将重点放在这一点上。提前感谢你的回答。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-29 04:24:44

我的一个项目收集了许多开发人员的推文,然后将语料库过滤为与技术和开发相关的推文。从Twitter获取这些推文的成本使搜索字符串所需的时间相形见绌。

我说你应该选择一种你喜欢的语言(我选择的武器是C#),并确保你使用一种有效和适当的算法来执行搜索-- SEK发布了一个非常好的链接来帮助你入门。

更重要的是要有一个好的策略来处理tweet,这就是你可能会被Twitter的性能杀死的地方。对我来说,最好的做法是有一个进程(或多个机器上的进程),它使用多线程异步客户端获取tweet,并将它们放入数据存储中进行处理。尽可能快地从Twitter获取tweet是这个过程的唯一责任。另一个多线程服务进程负责检查获取的tweet是否与我的目标短语匹配。

票数 1
EN

Stack Overflow用户

发布于 2011-01-28 14:19:40

如果你的搜索词集合是固定的,the esmre library for Python可能就是你需要的。它使用Aho-Corasick对大量搜索项进行快速的子字符串匹配。

下面是一个使用esmre查找某些编程语言引用的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import esm

tweets = """
I've always loved Python.
C# is better than I thought. It's like Java done right.
My tiny mind cannot grasp Haskell.
Objective-C is like C and Smalltalk's illegitimate lovechild.
""".strip().split('\n')

search_terms = ["Python", "Ruby", "PHP", "Erlang", "Haskell", "OCaml",
    "Objective-C", "C#", "C++", "Common Lisp", "Scheme", "Java", "Smalltalk",
    " C "
]

# Build the index of search terms
index = esm.Index()

for term in search_terms:
    index.enter("%s" % term.lower(), term)

index.fix()

# Find mentions of the search terms
for tweet in tweets:
    matches = index.query(tweet.lower())
    languages = [label for (position, label) in matches]

    print "%r mentions %r" % (tweet, languages)
票数 3
EN

Stack Overflow用户

发布于 2011-01-28 13:55:55

您认为字符串比较将花费最多时间的想法是正确的,但是无论您选择使用哪种语言,性能都可能是相同的。所以你最好的选择就是选一个你最舒服的。另一方面,学习一门新的语言只会增加你的知识,而python的语法会让你成为一名更好的程序员。

在任何情况下,使用适当的算法进行字符串搜索和索引都要重要得多。Wikipedia有一篇不错的文章,应该会让你对各种算法有一个大概的了解。从你的描述来看,听起来你最好使用有限模式集搜索,优先选择预处理模式的模式,比如Aho-Corasick。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4828706

复制
相关文章
为Apache创建自签名SSL证书
TLS/SSL是用于将正常流量包装在受保护的加密包装中的Web协议。得益于此技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截。证书系统还可以帮助用户验证他们正在连接的站点的身份。
编程男孩
2018/07/26
6.5K0
为Apache创建自签名SSL证书
如何创建自签名证书
TLS/SSL是用于将正常流量包装在受保护的加密包装中的Web协议。得益于此技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部各方拦截。证书系统还可以帮助用户验证他们正在连接的站点的身份。在本教程中,我们将向您展示如何在Ubuntu 18.04上设置用于Apache Web服务器的自签名SSL证书。
小铁匠米兰的v
2018/08/17
2.1K0
如何在Debian 9上为Nginx创建自签名SSL证书
TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
水门
2018/11/06
2.5K0
如何在Debian 9中为Apache创建自签名SSL证书
TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
苏子晨
2018/11/15
2.6K0
如何在Ubuntu 16.04中为Apache创建自签名SSL证书
TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
藕丝空间
2018/09/28
1.8K0
如何在Ubuntu 16.04中为Nginx创建自签名SSL证书
TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
不会飞的蝴蝶
2018/09/25
3.1K0
HTTP转HTTPS—使用OpenSSL创建自签名SSL证书以及Tomcat配置SSL证书实战
对于api服务器,我们不能让访问者先登录再进行访问这样不安全,也不友好。 http协议没有任何的加密以及身份验证的机制,即时是token认证,也非常容易遭遇窃听、劫持、篡改,因此会造成个人隐私泄露,恶意的流量劫持等严重的安全问题。
麦克劳林
2019/12/23
26.8K0
如何为Nginx创建自签名SSL证书
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。 TLS与SSL在传输层对网络连接进行加密。
尘埃
2018/07/20
11.8K0
自签名SSL证书的创建与管理
创建自签名根根证书过程:生成CA私钥(.key)-->生成CA证书请求(.csr)-->自签名得到根证书(.crt)(CA给自已颁发的证书)
行者深蓝
2024/07/14
5530
26 Dec 2021 使用cfssl创建自签名证书
可以通过执行cfssl print-defaults config创建默认的配置文件,然后再修改。
俊采
2023/10/17
2590
如何制作自签名证书
本文主要介绍如何基于openssl制作X.509自签名证书,以及如何使用该证书签发新证书。
coderhuo
2023/10/21
2.3K0
如何制作自签名证书
nginx配置https转发到tomcat(使用自签名的证书)
命令:openssl genrsa -des3 -out server.key 1024
用户2409797
2018/08/30
6.6K0
生成自签名ssl证书
查看证书信息命令 openssl x509 -in myCA.crt -noout -text
Linux运维技术之路
2022/06/07
2.6K0
[ChatGPT解决方案]生成 nginx 自签名证书
经常在内部环境需要将网站配置成 https,于是就有了一个需求:创建一个不会过期的 ngxix 自签名证书。于是就向 ChatGPT 提出了这个需求,得到了想要的解决方案。
Hopetree
2022/12/10
1.1K0
生成CSR和自签名证书
CSR,全称Certificate Signing Request(证书签发请求),是一种包含了公钥和与主题(通常是实体的信息,如个人或组织)相关的其他信息的数据结构。CSR通常用于向证书颁发机构(Certificate Authority,CA)申请数字证书。下面是CSR的详细介绍:
孟斯特
2023/10/25
6430
生成CSR和自签名证书
Linux|一个创建自签名证书的小脚本
写这个脚本是因为在实验室安装云平台和虚拟设备,需要证书,就使用openssl自建CA并签发证书了,命令虽然几行,但是输入参数和经常需要来回签发证书也是一件麻烦的事情。
琉璃康康
2022/04/19
7300
Linux|一个创建自签名证书的小脚本
制作自签名泛域名证书
出于测试的目的,有时候急需一张证书,一般申请的流程比较麻烦,而且泛域名证书收费,于是本文介绍一下自己制作一张自签名泛域名证书,设置一个比较长的期限,这样就可以方便测试啦~~
陈佳
2019/07/03
9K0
tokio_rustls 自签名证书
服务端使用自己的域名向 CA(Certificate Authority,证书颁发机构)申请证书。
谛听
2021/11/13
2.7K0
哪些用户需要代码签名证书,代码签名证书怎么用
如果想要让网站变得更加的安全可靠,让更多的用户信任,就需要签名代码证书了,网络上面的签名代码证书是比较多的,但是选择一款适合自己的签名代码证书会比较好。但签名代码用什么证书好呢?
用户8715145
2021/10/18
9100
替换VCenter6.0自签名证书
     很多时候Vcenter需要把自签名的证书替换掉,使用公有证书或者自己搭建的证书服务器进行替换,本实验是使用Windows Server搭建的证书服务器,进行Vcenter证书的替换。完成证书替换后,在浏览或者用Vsphere客户端连接Vcenter时就不会弹出证书错误的警告了。闲话休提,下面进行本次实验。实验环境中已经搭建好了企业证书服务器了,所以直接进行证书申请的操作。
月缺
2020/01/15
1.7K0
替换VCenter6.0自签名证书

相似问题

在Xml序列化中将日期时间字符串解析为日期时间

30

在Server中将日期和时间串联为日期时间

20

使用JSON模式将日期/时间字符串解析为日期时间

13

JSON日期和时间解析

13

JSON解析日期和时间?

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文