xu大搭车求问一个类似问题: 最近我要做一个功能,对地址进行模糊匹配,比如 中央电视台大楼9B-1  可以通过 央视大楼 来搜到应该从什么方向去做呢?

解决方案 »

  1.   

    你可以准备一个词库,为了添加、修改方便可以使用数据库
    检索时可以: 待检索文本 like concat('%',单词字段,'%')
    统计命中的记录数再做下一步处理不过这样会比较慢,词库不大时还可以用下最近我做的一个项目中是这样做的:
    检索时从表中取出全部单词,构造出一个 trie 树(trie 原型算法我发过,精华区可找到)
    然后再 trie 中查找。2万单词也就数十毫秒就完成了(包括构造trie)也曾用过文件缓存 trie,不过数兆的文件加载起来反而比临时构造还要慢