java - 搜索数据库中的列值是否存在于文件中

标签 java python mysql lucene nosql

我在数据库中有一个列,其中包含所有可用供应商的列表。系统处理后输出文件。该文本文件将包含一个供应商名称,该名称将出现在 db 列中。有没有办法从数据库中可用的供应商列表中查找文本文件中存在哪个供应商。
例如,列值可以是,

  1. 沃尔玛
  2. 目标
  3. 摩特克斯
  4. 伊莱克特拉

文本文件将包含

“MoreTex,一家纺织公司,发票号码#384722 5119 09/22/14,罗马有限名称部门条款卡付款茄子等等。共 329 税 Moretex,纺织公司地址访问 www.moretextile.com”

我现在必须查找上面的文本是否包含数据库中的任何供应商。在上面的示例中,它与“moretex”匹配。
我应该写一些自定义的东西吗?Lucene 或 sphinxsearch 会在这里提供帮助吗?供应商列表可能会增长到 100000 多个,而性能很重要。 谢谢

最佳答案

您可以使用 org.apache.commons.io.FileUtils 以获得更好的性能。这是代码

File file = new File("file url");
String content = FileUtils.readFileToString(file);
String[] dbColumn = new String[no. of rows]; //your column values from DB
String colValue = null;
Boolean flag = false;
for(String read : dbColumn)
{
  if(readFileToString.contains(read))
    {
      colVal = read;
      flag = true;
    }
}
if(flag)
System.out.println(colVal + "exists in file");

关于java - 搜索数据库中的列值是否存在于文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29814260/

相关文章:

java - 使用以另一个列表的长度为基础的流迭代列表

python - 在 Python 脚本中使用 Mechanize 模块需要帮助

python - 从文件中读取并写入另一个python

mysql - 学说表副本

mysql - MySQL并发写入及测试解决方案

php - 比较两个表的最快方法

java - 我如何结合 TABLE_PER_CLASS 和 GenerationType.IDENTITY

java - 在 Java 中使用 Thread.yield()

java - 第一次进入递归函数时的断点

python - 根据关键词 Pandas DF 提取列名