资讯专栏INFORMATION COLUMN

Solarium简易使用

RayKr / 512人阅读

Solarium是什么

原文: https://www.hoehub.com/PHP/97.html

SolariumSolrPHP客户端类库

Solarium是一个精确建模Solr概念的PHP Solr客户端库。使用Solarium可以更专业于业务层面, 不用去理会Solr的底层通信

官方描述:

What is Solarium?
Solarium is a PHP Solr client library that accurately model Solr concepts. Where many other Solr libraries only handle the communication with Solr, Solarium also relieves you of handling all the complex Solr query parameters using a well documented API.
简易使用
 // 引入类
use SolariumCoreClientClient as SolrClient;

demo

$config = [
            "endpoint" => [
                "endpoint1" => [
                    "host" => "localhost",
                    "port" => "8983",
                    "path" => "/solr",
                    "core" => "endpoint1",
                    "timeout" => 15,
                ],
                "endpoint2" => [
                    "host" => $host,
                    "port" => $port,
                    "path" => $path,
                    "core" => "endpoint2",
                    "timeout" => 15,
                ],
                ...
            ]
        ];
// 实例client
$solrClient = new SolrClient($config);
// 设置默认的Endpoint
$solrClient->setDefaultEndpoint("endpoint1");
// 实例查询器
$query = $solrClient->createSelect();

// 查询姓名为张小明的文档
$query->createFilterQuery("name")->setQuery("name:张小明");
// 对应url大概是这样 http://localhost:8983/solr/SResume/select?q=name%3A张小明&wt=json&indent=true

// 查询性别为m的
$query->createFilterQuery("gender")->setQuery("gender:m");
// 对应url大概是这样 http://localhost:8983/solr/SResume/select?q=gender%3Am&wt=json&indent=true

// 排除已经删除的
$query->createFilterQuery("deleted_at")->setQuery("-deleted_at:*");
// 对应url大概是这样 http://localhost:8983/solr/SResume/select?q=*%3A*&fq=-deleted_at%3A*&wt=json&indent=true

// 查询年龄在20岁以上的
$query->createFilterQuery("age")->setQuery("age:[20 TO *]");
// 对应url大概是这样 http://localhost:8983/solr/SResume/select?q=age%3A%5B20+TO+*%5D&wt=json&indent=true

// 区间查询
$query->createFilterQuery("age")->setQuery("age:[20 TO 30]");
// 对应url大概是这样 http://localhost:8983/solr/SResume/select?q=age%3A%5B20+TO+30%5D&wt=json&indent=true

$query->setFields("score", "name", "gender", "deleted_at", "age");
$query->setSorts(["score" => $query::SORT_DESC]); // 按分数排序
$query->setOmitHeader(false);

// 获取结果
$resultSet = $this->solrClient->select($query);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29694.html

相关文章

  • 从零开始实现一个简易的Java MVC框架

    摘要:不过仔细了解了一段时候发现,其实他的原理是很简单的,所以想要自己也动手实现一个功能类似的框架。原文地址从零开始实现一个简易的框架 前言 最近在看spring-boot框架的源码,看了源码之后更是让我感受到了spring-boot功能的强大。而且使用了很多的设计模式,让人在看的时候觉得有点难以下手。 不过仔细了解了一段时候发现,其实他的原理是很简单的,所以想要自己也动手实现一个功能类似的...

    neuSnail 评论0 收藏0
  • 从零开始实现一个简易的Java MVC框架(五)--引入aspectj实现AOP切点

    摘要:接下来就可以把这个切点类加入到我们之前实现的功能中了。实现的切点功能首先改装注解,把之前改成来存储表达式。测试用例在上一篇文章从零开始实现一个简易的框架四实现中的测试用例的基础上修改测试用例。 前言 在上一节从零开始实现一个简易的Java MVC框架(四)--实现AOP中我们实现了AOP的功能,已经可以生成对应的代理类了,但是对于代理对象的选择只能通过指定的类,这样确实不方便也不合理。...

    wupengyu 评论0 收藏0
  • 剖析简易计算器带你入门微信小程序开发

    摘要:源码分析这个简易计算器界面布局依然延续祖制,采用布局,貌似微信官方也是这么推荐的官方文档中就是使用。本计算器存在不完善和,因为重点不是实现全部功能,而是搞清楚微信小程序开发方法,所以非关注点不用在意。 写在前面,但是重点在后面 这是教程,也不是教程。 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCa...

    AaronYuan 评论0 收藏0
  • 剖析简易计算器带你入门微信小程序开发

    摘要:源码分析这个简易计算器界面布局依然延续祖制,采用布局,貌似微信官方也是这么推荐的官方文档中就是使用。本计算器存在不完善和,因为重点不是实现全部功能,而是搞清楚微信小程序开发方法,所以非关注点不用在意。 写在前面,但是重点在后面 这是教程,也不是教程。 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCa...

    Hanks10100 评论0 收藏0
  • 剖析简易计算器带你入门微信小程序开发

    摘要:源码分析这个简易计算器界面布局依然延续祖制,采用布局,貌似微信官方也是这么推荐的官方文档中就是使用。本计算器存在不完善和,因为重点不是实现全部功能,而是搞清楚微信小程序开发方法,所以非关注点不用在意。 写在前面,但是重点在后面 这是教程,也不是教程。 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCa...

    RichardXG 评论0 收藏0

发表评论

0条评论

RayKr

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<