簡體   English   中英

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 中的分面,我已經開始計算如下,但事實是我不知道如何緩解這種情況。 在此處輸入圖片說明

我的架構如下:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM