vladan-me/fingerprint-elasticsearch 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

vladan-me/fingerprint-elasticsearch

Composer 安装命令:

composer require vladan-me/fingerprint-elasticsearch

包简介

Specifies advanced fingerprint analyzer for Elasticsearch index

README 文档

README

This is a package that prepares Elasticsearch analyzers, filters and tokenizers to work with custom implementation of fingerprint algorithm. It is basically an improved version of fingerprint - official Elasticsearch documentation The difference is that custom analyzer that is created includes synonyms filter making the final combination something like this:

  • lowercase
  • asciifolding
  • fp_X_syn (synonyms for specific type X)
  • fp_X_rem (removals for specific type X)
  • fingerprint

Available types are City, Company, Street and Title. That means, whenever you need to store cities, companies, street addresses or titles you likely need this analyzer that will help you sort them out. Otherwise, you'll end up with messy data.

Use cases

  • Having complete Elasticsearch fingerprint analyzer
  • Combined with fingerprint makes creation and testing fingerprint easier.

Documentation

City analyzer/filter/property can be get like this:

        $ESCity = new ESCity();

        $analyzer = $ESCity->analyzerES();
        $filter = $ESCity->filterES();
        $prop = $ESCity->propES();

That creates analyzer with specific filters:

   'fp_city_analyzer' => [
       'type'      => 'custom',
       'tokenizer' => 'standard',
       'filter'    => [
           'lowercase',
           'asciifolding',
           'fp_city_syn',
           'fp_city_rem',
           'fingerprint',
       ],
   ]

It is using same synonyms and removals from depending project.

And specific city property:

   'type'         => 'keyword',
   'ignore_above' => 256,
   'fields'       => [
       'fp' => [
           'type'     => 'text',
           'analyzer' => 'fp_city_analyzer',
       ],

Please look at tests for more examples.

System Requirements

You need PHP >= 5.4.0. Even though there's no Elasticsearch dependency, fingerprint token filter is available from Elasticsearch version 5.0 Depending on fingerprint for synonyms/removals.

Install

Install fingerprint-elasticsearch using Composer.

$ composer require vladan-me/fingerprint-elasticsearch

Additional Notes

This package contains additional analyzers (punctuation removal, 2gram and 3gram with punctuation) that might be useful depending on use case, but likely should be optional.

Contributing

Contributions are welcome and will be fully credited. Please see CONTRIBUTING and CONDUCT for details.

License

The MIT License (MIT). Please see LICENSE for more information.

统计信息

  • 总下载量: 26
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 1

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-11-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固