[英]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 中的分面,我已經開始計算如下,但事實是我不知道如何緩解這種情況。
我的架構如下:
<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”取決於天氣或不以“10”開頭的ip,那么你的查詢將作為過濾查詢你寫的所有條件“where”(例如“sistema = 'RGNPMarcas'”)和構面樞軸將有 3 個字段:“entidad,municipio,ip_type”。
現在,為了獲得“ip_type”列,您可以更改索引數據的方式(更改輸入),也可以使用模式替換字符過濾器工廠( https://solr.apache.org/guide/ 7_1/charfilterfactories.html#solr-patternreplacecharfilterfactory )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.