php elasticsearch 联想搜索类目

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: php elasticsearch 联想搜索类目
## 创建索引和字段
```php
$params = [
            'index' => 'category',
            'body' => [
                "mappings" => [
                    'properties' => [
                        "id" => ["type" => "integer"],
                        "parent_id" => ["type" => "integer"],
                        "level" => ["type" => "integer"],
                        "name" =>  ["type" => "text", "analyzer" => "ik_max_word"],
                        "disable_flag" => ["type" => "integer"],
                        'children' => [
                            'type' => "nested",
                            "properties" => [
                                "id" => ["type" => "integer",'copy_to' => 'children_id'],
                            ]
                        ]
                    ]
                ]
            ]
        ];
        $info = app('es')->indices()->create($params);

联想搜索

    /**
     * @Author: 荷逸
     * @Description 联想搜索
     * @DateTime 2022-05-20
     */
    public function autocompleteSearch(CategoryRequest $request)
    {
        $keyword = $request->post('keyword');
        $params = [
            'index' => 'category',
            'body' => [
                'query' => [
                    "bool" => [
                        "should" => [
                            ["prefix" => [
                                'name.keyword' => [
                                    'value' => $keyword,
                                    'boost' => 10,
                                ]
                            ]],
                            ["match_phrase_prefix" => [
                                'name' => [
                                    'query' => $keyword,
                                    'boost' => 7,
                                ]
                            ]],
                            ["match" => [
                                'name' => [
                                    'query' =>  $keyword,
                                    'boost' => 6,
                                ],
                            ]],
                            ['wildcard' => [
                                'name.keyword' => [
                                    'value' =>  $keyword . '*',
                                    'boost' => 5,
                                ]
                            ]],
                        ]
                    ],
                ],
                '_source'=>[
                   'id','name'
                ],
                "size" => 10
            ],
        ];
        try {
            $res = app('es')->search($params)->asArray()['hits']['hits'];
            $data = collect($res)->pluck('_source')->all();
            return resReturn(1, $data);
        } catch (Exception $th) {
            return resReturn(0, $th->getMessage());
        }
    }


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
安全 Linux 开发工具
Elasticsearch 搜索入门技术之一
Elasticsearch 搜索入门技术之一
228 1
|
4月前
|
安全 关系型数据库 PHP
百度搜索:蓝易云【php适合做erp吗?】
虽然PHP在ERP开发中具有很多优势,但在实际开发中还需要根据项目的具体需求和规模来选择合适的技术栈和架构。ERP系统通常是复杂的,需要综合考虑数据库设计、安全性、性能等因素。因此,在开发ERP系统时,建议仔细规划和设计,充分了解业务需求,并选择适合的技术和开发工具来实现一个稳定、高效、安全的ERP系统。
33 0
|
4月前
|
存储 JSON 自然语言处理
Elasticsearch 利用API进行搜索
Elasticsearch 利用API进行搜索
36 0
|
4月前
|
存储 缓存 数据库
PB数据毫秒级搜索之Elasticsearch(二)基础了解
PB数据毫秒级搜索之Elasticsearch(二)基础了解
95 0
|
3月前
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
11天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
2天前
|
存储 自然语言处理 搜索推荐
分布式搜索引擎ElasticSearch
Elasticsearch是一款强大的开源搜索引擎,用于快速搜索和数据分析。它在GitHub、电商搜索、百度搜索等场景中广泛应用。Elasticsearch是ELK(Elasticsearch、Logstash、Kibana)技术栈的核心,用于存储、搜索和分析数据。它基于Apache Lucene构建,提供分布式搜索能力。相比其他搜索引擎,如Solr,Elasticsearch更受欢迎。倒排索引是其高效搜索的关键,通过将词条与文档ID关联,实现快速模糊搜索,避免全表扫描。
20 2
|
5天前
|
SQL 监控 搜索推荐
Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择
Elasticsearch 与 OpenSearch:开源搜索技术的演进与选择
33 2
|
5天前
|
人工智能 程序员 开发者
Elasticsearch 中文社区的转型后,搜索人怎么破局?
Elasticsearch 中文社区的转型后,搜索人怎么破局?
11 0
|
5天前
|
存储 机器学习/深度学习 API
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
21 0
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索