mysql-使用InnoDB表进行全文搜索
我必要行使全文搜刮,可是我在Web应用措施中行使的表行使了INNODB引擎,从我读到的JDBC来看,它不支持Mysql触发器,因此我应该将项目陈设在课程处事器上,因此安装器材譬喻狮身人面像是不行能的,有人可以提议一种执行全文本搜刮的要领吗? 感谢 编辑:项目中的要求是要有一个同等的数据库,我要在其长举办搜刮的表包括要为其构建Web应用措施的尝试室中存在的仪器的列表,可以向个中插入新仪器它,可是我们假设插入会见很少,而且大大都环境下该表将用于读取会见,在这种环境下,行使MyIsam是公道的,而且切合同等性要求(Myisam不支持事宜)吗? 最佳谜底 您可以行使MyISAM建设第二个表,该表仅包括主表的主键以及但愿举办FULLTEXT搜刮的文本内容.然后,当您要举办全文搜刮时,可以在正确的InnoDB表和搜刮诱饵MyISAM表之间举办JOIN,并针对MyISAM表举办MATCH前提.这还应承您将MyISAM表中的差异搜刮诱饵文本存储为InnoDB表中的“真实”文本,从而应承您实现MySQL的FULLTEXT引擎无法打点的诸如词干或非凡撇号/连字符处理赏罚之类的成果. 虽然,这里的题目是使MyISAM数据与InnoDB数据保持同等.您可以常常运行一项功课来执行此操纵,也可以在有文本更新时使应用措施同时写入两个表.无论哪种方法,都但愿您能挣脱全文搜刮中的纷歧致,对付“类型”表数据来说,这种纷歧致是不行接管的. 另一种要领是在所需的全文办理方案不行用时退回到LIKE / RLIKE(regexp)匹配.将无法索引,因此速率不快,但至少它将始终有用,而且对付较小的数据库也很好. 编辑:
好吧,那真的必需是全文搜刮吗?将这样的列表建模为每种装备范例一个实体,并在尝试室和装备(或任何范例的装备)之间成立联接表,会更好吗?
MyISAM不会让两个INSERT声明沟通的主键.但这还不敷以担保一样平常环境下的“同等性”.听起来您可以从现实的角度出发,可是假如明晰要求“同等性”,那也许正是他们不但愿您这样做的缘故起因. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |