例如有两个业务表:文章表,评论表 。

场景: 一个文章可以由多个人评论。

创建两个core,一个core叫article,一个叫comment。
article实例的schema.xml文件中定义几个简单的属性:id、title、content、createtime,relationId

<field name="id" type="long" multiValued="false" indexed="true" required="true" stored="true"/>

<field name="title" type="text_general_rev" indexed="true" stored="true"/>

<field name="content" type="text_general_rev" indexed="true" stored="true"/>

<field name="create" type="long" indexed="true" stored="true"/>

<field name="relationId" type="string" indexed="true" stored="true"/>

comment实例的schmea.xml文件中定义几个简单的属性:id,articleId,userName,createtime,commentContent

<field name="id" type="long" multiValued="false" indexed="true" required="true" stored="true"/>

<field name="articleId" type="string" indexed="true" stored="true"/>

<field name="userName" type="string" indexed="true" stored="true"/>

<field name="createtime" type="long" indexed="true" stored="true"/>

<field name="commentContent" type="text_general_rev" indexed="true" stored="true"/>

ok,从上面可以看出文章的relationId在评论里面articleId属性相关联

查询张三评论过的文章

http://localhost:8088/solr/article/select?q={!join fromIndex=article toIndex=comment from=relationId to=articleId} userName:"张三"

写了这么多,{!join fromIndex=article toIndex=comment from=relationId to=articleId}这个里面才是最主要的东西。类似sql :select  * from tableA a left join tableB b on a.id = b.realtionId 对应过去应该就了解了对应位置是什么东西了。

solr之高级查询--联表 join查询的更多相关文章

  1. 【Django】Django 如何实现 如下 联表 JOIN 查询?

    SQL语句: select distinct a.device_hash, sum(b.cmn_merge_count) from (select distinct device_hash from ...

  2. Django 如何实现 如下 联表 JOIN 查询?

    SQL语句: select distinct a.device_hash, sum(b.cmn_merge_count) from (select distinct device_hash from ...

  3. 基于Solr的多表join查询加速方法

    前言 DT时代对平台或商家来说最有价值的就是数据了,在大数据时代数据呈现出数据量大,数据的维度多的特点,用户会使用多维度随意组合条件快速召回数据.数据处理业务场景需要实时性,需要能够快速精准的获得到需 ...

  4. springBootJpa 联表分页查询总数不准的问题

    问题情景: 在联表查询时 ``` // 两张表关联查询 Join<Project, Plan> planJoin = root.join("plans", JoinTy ...

  5. Mysql 拼接字段查询语句和join查询拼接和时间查询

    个人平时记录的,有点乱 1.修改时间字段,如果时间字段的类型是date或者是datetime类型的 update 表名 set 时间字段 = DATE_FORMAT(NOW(),'%Y-%m-%d % ...

  6. 序列化表单为json对象,datagrid带额外参提交一次查询 后台用Spring data JPA 实现带条件的分页查询 多表关联查询

    查询窗口中可以设置很多查询条件 表单中输入的内容转为datagrid的load方法所需的查询条件向原请求地址再次提出新的查询,将结果显示在datagrid中 转换方法看代码注释 <td cols ...

  7. 数据库联表统计查询 Group by & INNER JOIN

    原数据表 视频信息表  tab_video_info 播放记录表  tab_play_record 需求 统计播放量(已经开始播放)最多的前20个视频: SELECT a.video_id, SUM( ...

  8. SQL SERVER跨数据库服务,联表进行查询

    SELECT * FROM 数据库A..表A a, 数据库B..表B b WHERE a.field=b.field

  9. mysql 数据操作 多表查询 多表连接查询 笛卡尔积

    1 交叉连接:不适用任何匹配条件.生成笛卡尔积 所有员工都和四个部门 做了对应关系 mysql> select * from employee,department; +----+------- ...

随机推荐

  1. php 获取某个日期n天之后的日期

    <?php $date=date_create("2013-03-15"); date_add($date,date_interval_create_from_date_st ...

  2. Mac系统下adb工具的配置

    sudo vim ~/.bash_profile 增加如下内容 ANDROID_HOME=/Users/apple/Library/Android/sdk export PATH=$PATH:$AND ...

  3. Bert学习资料

    首先是Bert的论文和 attention is all you need的论文 然后是:将nlp预训练 迁移学习的发展从word2vec 到elmo bert https://mp.weixin.q ...

  4. [java]java String.split()函数的用法分析

    转自:http://swiftlet.net/archives/709 一.在java.lang包中有String.split()方法的原型是: public String[] split(Strin ...

  5. GNU m4 教程[转]

    原文:http://blog.csdn.net/timekeeperl/article/details/50738164 作者:garfileo  作者主页 本文整理自:https://segment ...

  6. JSP 隐含对象

    JSP 隐含对象 JSP隐含对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐含对象也被称为预定义变量. JSP所支持的九大隐含对象: 对象描述 reques ...

  7. Rails 5 Test Prescriptions 第9章 Testing-JavaScript: Integration Testing,❌挂一个问题webpacker::helper

    使用Capybara进行JS的集成测试 谈论驱动 让测试通过 Webpack in Development Mode Js设计 是用户在网页上有好的体验的重要因素. 尽管如此,许多网页不测试JS. 部 ...

  8. MySQL数据库安装和Navicat for MySQL配合使用

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司. MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS ...

  9. type使用细则

    CREATE OR REPLACE TYPE ADDRESS_TYPE   --创建类型 ADDRESS_TYPE AS OBJECT(ZIP VARCHAR2(6),PROVINCE VARCHAR ...

  10. 带你走进脚本世界,ijkplayer之【init-ios.sh】脚本分析

    前言 集成ijkplayer,需要执行脚本init-ios.sh,那么init-ios.sh脚本干嘛用的了,花了半天时间,学习了下shell脚本,感觉脚本语言学起来还是比较容易上手的,现在仅仅能看懂了 ...