solr中的休息刻面

u0sqgete  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(317)

good day friends我面临一个问题,因为我需要在solr中匹配以下查询

SELECT entidad, municipio, count(*) as total, 
 sum(case when ip like '10.%' then 1 else 0 end) as internos, 
 sum(case when ip not like '10.%' then 1 else 0 end) as externos 
 FROM bitacora.actividad a 
 where sistema = 'RGNPMarcas' 
 AND fecha >= '2021/07/16' and fecha <= '2021/07/31' 
 AND parametros like 'PDF'
 and parametros like 'EGV'
 and entidad = '01'
 GROUP BY entidad, municipio 
 ORDER BY entidad, municipio

我一直在研究solr中的刻面,我来做如下计算,但事实是我不知道如何缓解这种情况。

我的模式如下所示:

<field name="tabla" type="string" indexed="true" stored="false" multiValued="false"/>
  <field name="entidad" type="string" indexed="true" stored="true" default="" multiValued="false"/>
  <field name="municipio" type="string" indexed="true" stored="true" default="" multiValued="false"/>
  <field name="ip" type="text_general" indexed="true" stored="true" default="" multiValued="false"/>
  <field name="fecha" type="pdate" indexed="true" stored="true" multiValued="false" default=""/>
  <field name="parametros" type="text_general" indexed="true" stored="true" default="" multiValued="false"/>
  <field name="total" type="pint" uninvertible="true" indexed="true" stored="true"/>
  <field name="internos" type="pint" uninvertible="true" indexed="true" stored="true"/>
  <field name="externos" type="pint" uninvertible="true" indexed="true" stored="true"/>

正如你所看到的,我已经有了基础和索引字段,我需要的是你在这些solr问题上的经验,或者有人可以指导我,请!

q3qa4bjr

q3qa4bjr1#

如果您可以有一个名为“ip_type”的字段,内容为“internos”或“externos”,具体取决于天气,ip是否以“10”开头,那么您的查询将具有您在“where”之后编写的所有条件(例如“sistema=‘rgnpmarcas’”),而facet pivot将有3个字段:“entidad、市政、ip_type”。
现在,为了获得“ip_type”列,您可以更改索引数据的方式(更改输入),或者使用模式替换字符过滤器工厂(https://solr.apache.org/guide/7_1/charfilterfactories.html#solr-patternreplacecharfilterfactory)

相关问题