我有一个java网络服务,各种服务使用它来向mongodb插入数据。但由于数据是重复的,我们提出了一个解决方案,在插入 mongodb 之前创建一个键值对数据并检查它是否已经存在。 但比较如此多的字符串是一项艰巨的任务,并且需要花费大量时间。
- 我们是否有任何库/API 可用于更快的比较。
- Elasticsearch是为了搜索,它也适合文本比较吗?
我的字符串示例
“消息:WSClient.FetchReservation::WS FetchReservation 称为System.Net.WebException:操作已超时,位于 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest 请求),位于 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest 请求),位于 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(字符串方法名称,对象) ] 参数)位于 BOTWSClient.ChannelDirectWS.YieldGain.fFetchReservation(String strReservationXML),位于 BOTWSClient.WSClient.FetchReservation(String RequestXML)”
最佳答案
如果文本完全相同,您可以对其进行哈希处理并比较哈希值。如果您没有太多条目,sha1 就足够了。
如JonasCz说,请更新您的问题,以便我们知道文本是否完全相同(我的解决方案可以工作)或相似(我的解决方案不起作用)。
关于java - java中比较文本的API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30118205/