2012-01-11 4 views
0

У меня есть экземпляр SOLR с миллионами документов. Схема хорошо определена (т. Е. Все поля напечатаны). Все поисковые/огранки и т. Д. Работают нормально без каких-либо проблем.Запрос на анализ SOLR

Однако, я пытаюсь сделать что-то новое, что я «думаю» не поддерживается в текущей версии. Я запускаю SOLR 3.5 в Windows с помощью Jetty.

Чтобы упростить вопрос, мой документ содержит некоторые поля, такие как:

Id, Имя, Город, JobTitle

Допустим, у меня есть образец данных, как: P Wood, Лондон, директор J Smith, Лондон, менеджер проекта D Lock, Brighton, разработчик K Pracy, Лондон, разработчик

ради примера, предположим, что это та tching, которая позволяет людям находить друг друга. Также предположим, что Id - уникальный идентификатор.

Я хочу написать запрос «выборки», который должен найти мне набор записей, которые будут соответствовать другим записям для любых критериев.

Так, например, я хочу, чтобы определить критерии, как:

Найди мне людей, которые будут соответствовать людей в разных городах с differfent названия работы:

Если вышеуказанная схема была таблица РСУБД SQL (позволяет сказать, человек), примерный запрос будет что-то вроде этого:

 
SELECT P.Id, 
    (
     SELECT COUNT(1) 
     FROM People PI Where PI.Id != P.Id 
     AND PI.City != P.City 
     AND PI.JobTitle != P.JobTitle 
    ) AS FindCount 
FROM 
People P 

Ну, запрос не может быть работоспособным, но вы получите идею. Во всяком случае, существуют и другие требования, что Findcount должен быть больше x и меньше y.

Может ли кто-нибудь сообщить мне, возможно ли это в SOLR или если это что-то не предназначено для SOLR. Я знаю, что SOLR 4 поставляется с оператором Join, но это похоже на предложение IN, которое ограничивает использование. Например, подумайте, что я хочу, чтобы совпадающий идентификатор также находился в вышеуказанном запросе, а не в процентах.

Вся помощь приветствуется.

Спасибо, Immi

ответ

1

Я не думаю, что это выполнимо в 1 запрос, и вы могли бы в конечном итоге с запуском «внутренний выбор» в качестве отдельного запроса для каждого человека

Смежные вопросы