vladan-me/fingerprint-elasticsearch

指定 Elasticsearch 索引的高级指纹分析器

1.2.1 2017-11-26 00:00 UTC

This package is auto-updated.

Last update: 2024-09-24 00:19:33 UTC


README

这是一个准备 Elasticsearch 分析器、过滤器和解码器的包,以便与指纹算法的定制实现一起使用。它基本上是fingerprint - official Elasticsearch documentation 的改进版本。区别在于创建的定制分析器包括同义词过滤器,使得最终的组合类似于以下内容

  • 小写
  • asciifolding
  • fp_X_syn (特定类型 X 的同义词)
  • fp_X_rem (特定类型 X 的移除)
  • 指纹

可用的类型包括城市、公司、街道和标题。这意味着,每当您需要存储城市、公司、街道地址或标题时,您可能需要此分析器来帮助您对其进行分类。否则,您将得到混乱的数据。

用例

  • 拥有完整的 Elasticsearch 指纹分析器
  • fingerprint 结合使用,使指纹的创建和测试更容易。

文档

可以通过这种方式获取城市分析器/过滤器/属性

        $ESCity = new ESCity();

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

这会创建具有特定过滤器的分析器

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

它使用来自依赖项目的相同同义词和移除。

以及特定的城市属性

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

请查看测试以获取更多示例。

系统要求

您需要 PHP >= 5.4.0。尽管没有 Elasticsearch 依赖项,但指纹标记过滤器从 Elasticsearch 版本 5.0 开始可用。根据fingerprint 同义词/移除进行依赖。

安装

使用 Composer 安装 fingerprint-elasticsearch

$ composer require vladan-me/fingerprint-elasticsearch

附加说明

此包包含可能根据用例有用的附加分析器(标点符号删除、带标点的 2gram 和 3gram),但很可能应该作为可选项。

贡献

欢迎贡献,并将得到完全认可。请参阅CONTRIBUTINGCONDUCT 以获取详细信息。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅LICENSE