Как вернуть столбец, который соответствует запросу в Solr ..? - PullRequest
2 голосов
/ 09 марта 2012

Я использую apache Solr для поиска в моей базе данных .. !!

Предположим, я проиндексировал 4 столбца из одной из моих таблиц .. !! .. Я просто хочу, чтобы в ответ возвращались только те столбцы , которые содержат мой запрос . !! .. это возможно .. ??

Например:

У меня есть таблица автомобили со столбцами: имя, имя дисплея, описание, дополнительные данные .. !!

Теперь я делаю запрос, что-то вроде:

localhost:8983/solr/select?q=maruti&wt=json

Теперь только некоторые в некоторых строках name могут содержать слово " maruti "

Итак, взамен мне нужно только имя (наряду с некоторыми другими фиксированными полями, такими как ID ) ..

Аналогично, если description содержит это слово, то должно быть возвращено только description ... а не другие столбцы ..! !

Как я могу добиться этого .. ??

1 Ответ

5 голосов
/ 09 марта 2012

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

Обновление : Вот как это сделать в Solr без пользовательских преобразователей и т. Д. Включить подсветку для всех четырех столбцов:

hl=on&hl.fl=name,displayName,description,extra

Solr вернет "подсвечивающую" структуру, содержащую ключ и поля, которые соответствуют запросу. Вы также получите выделенные фрагменты, независимо от того, используете ли вы их. Смотрите здесь для дополнительных параметров: http://wiki.apache.org/solr/HighlightingParameters

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