wataridori/simple-fuzzy-search

PHP 简单模糊搜索组件

0.1.1 2016-03-12 13:38 UTC

This package is auto-updated.

Last update: 2024-09-15 20:17:30 UTC


README

StyleCI Build Status Latest Stable Version Total Downloads Latest Unstable Version License

关于

使用Levenshtein 距离 (LD) 算法最长公共子串 (LCS) 算法实现的一个简单的模糊搜索组件。

需求

  • PHP >= 5.4

安装

您可以使用 Composer 安装和管理 SimpleFuzzySearch

composer require wataridori/simple-fuzzy-search

或者将 wataridori/simple-fuzzy-search 添加到您的 composer.json 文件的 require 部分,然后运行 composer update

用法

$arrayData = [
    [
        'nickname' => 'thangtd90',
        'fullname' => 'Tran Duc Thang',
    ],
    [
        'nickname' => 'trongbs',
        'fullname' => 'Tran Ba Trong',
    ],
    [
        'nickname' => 'vigov5',
        'fullname' => 'Nguyen Anh Tien',
    ],
    [
        'nickname' => 'kienBG',
        'fullname' => 'Do Trung Kien',
    ],
    [
        'nickname' => 'vuong',
        'fullname' => 'Nguyen Van Vuong',
    ],
    [
        'nickname' => 'dainghia',
        'fullname' => 'Le Van Nghia',
    ],
    [
        'nickname' => 'tungctf',
        'fullname' => 'Nguyen Duc Tung',
    ],
];

// Find by both nickname and fullname
$sfs = new SimpleFuzzySearch($this->arrayData, ['nickname', 'fullname'], 'tung');

// This will return "Nguyen Duc Tung" and "Do Trung Kien"
$results = $sfs->search();

// This will return "Tran Duc Thang"
$results = $sfs->search('trn dc thsng');

测试

只需运行 phpunit 即可开始测试。