vladan-me/fingerprint-elasticsearch
指定 Elasticsearch 索引的高级指纹分析器
1.2.1
2017-11-26 00:00 UTC
Requires
- php: >=5.4.0
- vladan-me/fingerprint: ~1.0
Requires (Dev)
- phpunit/phpunit: ^5.7
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),但很可能应该作为可选项。
贡献
欢迎贡献,并将得到完全认可。请参阅CONTRIBUTING 和 CONDUCT 以获取详细信息。
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅LICENSE。