Как использовать Solr-запрос вместо многопольной группировки MySQL - PullRequest
0 голосов
/ 02 мая 2019

Необходимо использовать поиск по запросу Solr вместо оператора MySQL, но результат не очень хороший.

В настоящее время таблицы MYSQL

Table1 - DOCUMENTS

Поля: DOCUMENT_ID, USER_ID, DEVICE_NAME, JOB_TYPE, PAGE_COUNT

Table2 - DOC_GROUP

Поля: DOCUMENT_ID, GROUP_ID

Исходный оператор MySQL

SELECT DATE(CREATED_DATE) AS DateOnly, USER_ID, DEVICE_NAME, JOB_TYPE, GROUP_ID, SUM(PAGE_COUNT) AS COUNTER,COUNT(T1.DOCUMENT_ID) AS DOC_COUNT 
FROM DOCUMENTS T1 inner join DOC_GROUP T2
WHERE CREATED_DATE >='2011-01-01 00:00:00' and CREATED_DATE <='2019-12-31 00:00:00' 
AND USER_ID='40001'
AND DEVICE_NAME='DEVICE_A'
AND T2.GROUP='GROUP_A'
GROUP BY DateOnly, USER_ID, DEVICE_NAME, JOB_TYPE, T2.GROUP_ID

Наконец, попытался выполнить запрос Solr, как показано нижено все еще не может вернуть результат, тот же с данными, возвращаемыми MySQL:

http://127.0.0.1:8983/solr/UDSDT/select?q=(CREATEDDATE:[2019-01-01T00:00:00Z TO 2019-12-31T23: 59: 59Z] И DEVICE_NAME :( "DEVICE_A") И (GROUP_ID :( "GROUP_A"))) & П = CREATEDDATE, DEVICE_NAME, JOB_TYPE, USER_ID, PAGE_COUNT & рода = CREATEDDATE + по возрастанию и начать = 0 & строк = 60 & мас = XML & отступа = истина & группа = истина & group.field = USER_ID & group.main = истина & статистика = истина & stats.facet = DEVICE_NAME & JOB_TYPE & USER_ID & stats.field = PAGE_COUNT

Ожидаемые результаты Solr включают данные ниже и могут быть сгруппированы, например

Пример текущего поля результатов MySQL

Большое спасибо.

...