Lucene文档模型(Document)简解

作者 : admin 于 2008年10月04日, 11:39:51
2008
10-4

最近仔细研究了Lucene的文档模式,现用通俗语言来解释。

Lucene的索引,基本结构为 Index->Document->Field 这样可以构建一个非关系型二维结构,由不同field构成的一个Document,由不同的Document构成的Index。

Lucene的Field方法很丰富,在2.0版本以后,由三种Field类型增加到了5种,支持三种数据流的传入方式(字符串,读取,二进制传入),支持数据的存储,索引,分词。

而我们使用Lucene的主要功能在于分词和生成索引。具体应用待详细使用后介绍。

我的一个Java程序

作者 : admin 于 2008年10月03日, 17:42:56
2008
10-3

PHP总有其局限性,比如解释型语言在速度上的弱点,制约了它在效率方面的发挥。facebook开放了源代码,其底层大都是c来编写,而我现在计划用Java为一些服务写后台,这是我的第一个Java程序,希望大家多批评,虽然上边依然有太多php的影子。

  1. import java.sql.*;
  2. /*
  3.  *  Java Mysql数据库连接类
  4.  *  我的第一个java程序
  5.  */
  6. public class MysqlConn
  7. {
  8. private String dsn = "jdbc:mysql://localhost:3306/test";
  9. private String username = "root";
  10. private String password = "123456";
  11.  
  12. private Connection conn = null;
  13. private Statement stmt = null;
  14. private ResultSet rs = null;
  15.  
  16.  
  17.  
  18.  
  19.     public void MysqlConn()
  20. {
  21. }
  22.     //初始化连接参数
  23. public void SetDsn( String Dsn )
  24. {
  25. this.dsn = Dsn;
  26. }
  27. //初始化用户名密码
  28. public void SetUserPass( String Username , String Password )
  29. {
  30. this.username = Username;
  31. this.password = Password;
  32. }
  33. //连接函数
  34. public void Conn()
  35. {
  36. try
  37. {
  38. //加载Connetc/J驱动
  39. //Class.forName("com.mysql.jdbc.Driver");
  40. Class.forName("org.gjt.mm.mysql.Driver");
  41. //开始连接
  42. this.conn = DriverManager.getConnection( this.dsn , this.username , this.password );
  43. this.stmt = this.conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE , ResultSet.CONCUR_UPDATABLE );
  44. }
  45. catch(SQLException ex)
  46. {
  47. System.out.println("Error : " + ex.toString());
  48. System.out.println("没有找到JDBC/ODBC驱动程序!");
  49. System.exit(0);
  50. }
  51. catch(Exception e)
  52. {
  53. System.out.println("Errors: " + e.toString());
  54. System.exit(0);
  55. }
  56. }
  57.     //返回结果集
  58. public ResultSet sqlQuery( String sql )
  59. {
  60. try
  61. {
  62. this.rs = this.stmt.executeQuery( sql );
  63. }
  64. catch (SQLException ex)
  65. {
  66. System.out.println("Error : " + ex.toString());
  67. System.exit(0);
  68. }
  69. catch (Exception ex)
  70. {
  71. System.out.println("Error : " + ex.toString());
  72. System.exit(0);
  73. }
  74. return rs;
  75. }
  76. //执行 update,insert之类
  77. public void Exec( String sql )
  78. {
  79. try
  80. {
  81. this.stmt.executeUpdate( sql )
  82. }
  83. catch (SQLException ex)
  84. {
  85. System.out.println("Error : " + ex.toString());
  86. System.exit(0);
  87. }
  88. catch (Exception ex)
  89. {
  90. System.out.println("Error : " + ex.toString());
  91. System.exit(0);
  92. }
  93. }
  94.  
  95. }

PHP缓存组件APC简介

作者 : admin 于 2008年10月03日, 10:55:15
2008
10-3

php是解释型语言,比起编译型语言,速度自然会慢.每种语言基本都是 1、源代码->编译成二进制机器码 2、编译成二进制机器码->执行 编译型语言(如c,java)在执行一次步骤1后,多次执行步骤2,而asp,php之类的解释型语言每次访问,都重复步骤1,2,故效率低下。

PHP官方提供了一个编译php为二进制码的工具,Zend,价格昂贵,今天讨论免费的APC。

APC组件下载地址:http://pecl4win.php.net/ext.php/php_apc.dll http://pecl.php.net/package/apc 根据自己的操作系统版本来下载安装。我这里使用的是windows系统,直接把php_apc.dll放在扩展文件路径里,在php.ini里增加extension=php_apc.dll,再查看phpinfo(),可看到apc安装成功的信息。具体配置信息在这里 http://cn2.php.net/manual/en/apc.configuration.php

其中的参数可以设定是否缓存php的编译文件,还有一些常用的限制。

除此之外,还有很多opcode缓存组件,如accelerator,xcache之类,详情可参见这里 http://en.wikipedia.org/wiki/Alternative_PHP_Cache#Alternative_PHP_Cache

 Page 3 of 3 « 1  2  3