SOLR Анализ Запрос - PullRequest
       4

SOLR Анализ Запрос

0 голосов
/ 11 января 2012

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

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

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

Id, Название, Город, JobTitle

Допустим, у меня есть пример данных, таких как: П Вуд, Лондон, директор Джей Смит, Лондон, руководитель проекта D Lock, Брайтон, разработчик K Pracy, Лондон, разработчик

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

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

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

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

Если вышеуказанная схема была таблицей RDBMS-SQL (скажем, People), приблизительный запрос будет выглядеть примерно так:

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, которое ограничивает использование. Например, предположим, что я хочу, чтобы совпадающие идентификаторы также были указаны выше в запросе, а не в счетчиках.

1 Ответ

1 голос
/ 11 января 2012

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...