在 solr 中分面
Faceting in solr
朋友们,你们好
我遇到了一个问题,因为我需要在 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 中的 Faceting,我已经做了一些类似下面的计数,但事实是我不知道如何缓解这种情况。
我的架构如下:
<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这些问题的经验,或者有人可以指导我,请!
如果您有一个字段,名称为“ip_type”,内容为“Internos”或“Externos”,具体取决于天气与否,IP 以“10.”开头,那么您的查询将包含作为过滤器查询您在“where”之后写的所有条件(例如“sistema = 'RGNPMarcas'”),facet pivot 将有 3 个字段:“entidad,municipio,ip_type”.
现在,为了获得“ip_type”列,您可以更改索引数据的方式(更改输入),或者您可以使用模式替换字符过滤器工厂(https://solr.apache.org/guide/7_1/charfilterfactories.html#solr-patternreplacecharfilterfactory)
朋友们,你们好 我遇到了一个问题,因为我需要在 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 中的 Faceting,我已经做了一些类似下面的计数,但事实是我不知道如何缓解这种情况。
我的架构如下:
<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这些问题的经验,或者有人可以指导我,请!
如果您有一个字段,名称为“ip_type”,内容为“Internos”或“Externos”,具体取决于天气与否,IP 以“10.”开头,那么您的查询将包含作为过滤器查询您在“where”之后写的所有条件(例如“sistema = 'RGNPMarcas'”),facet pivot 将有 3 个字段:“entidad,municipio,ip_type”.
现在,为了获得“ip_type”列,您可以更改索引数据的方式(更改输入),或者您可以使用模式替换字符过滤器工厂(https://solr.apache.org/guide/7_1/charfilterfactories.html#solr-patternreplacecharfilterfactory)