У меня есть проблема с Solr и Faceting и задающийся вопросом, знает ли кто-либо о фиксации. У меня есть работа вокруг для него в минуту, однако я действительно хочу разработать, почему мой запрос не работает.
Вот моя Схема, упрощенная, чтобы помочь следовать:
Поскольку Вы видите, что у меня есть нечувствительное к регистру поле, названное recordtype, и он копируется в чувствительное к регистру поле frecordtype, который не маркирует текст. Это вызвано тем, что solr возвращает индексируемое значение, а не хранимую сумму в результатах фасетирования.
Когда я пробую следующий запрос:
http://localhost:8080
/solr
/select
?version=2.2
&facet.field=%7b!ex%3dfrecordtype%7dfrecordtype
&facet=on
&fq=%7b!tag%3dfrecordtype%7dfrecordtype%3aLarge%20Record
&f1=*%2cscore
&rows=20
&start=0
&qt=standard
&q=text%3a%25
Я не получаю результатов, однако facteting все еще показывает, что существует 1 запись.
1
12
1
Однако, если я изменяю более пригодный запрос (строка 7 только), чтобы быть на "recordtype" insted frecordtype:
http://localhost:8080
/solr
/select
?version=2.2
&facet.field=%7b!ex%3dfrecordtype%7dfrecordtype
&facet=on
&fq=%7b!tag%3dfrecordtype%7drecordtype%3aLarge%20Record
&f1=*%2cscore
&rows=20
&start=0
&qt=standard
&q=text%3a%25
Я получаю 1 результат назад, что я хочу.
1
12
1
Таким образом, мой вопрос, там что-то, что я должен сделать, чтобы заставить первую версию запроса возвращать результаты, которые я хочу? Возможно, это относится к чему-то Кодирование URL или что-то? Любые подсказки от некоторого solr гуру или иначе были бы очень благодарны.
Примечание: Это не необходимо вопрос о фасетировании, поскольку фасетирование на самом деле работает. Это - больше вопрос о запросе, в котором я не могу выполнить запрос на "строковом" поле, даже при том, что случай и интервал являются точно тем же как индексируемой версией.
Править: Для получения дополнительной информации о фасетировании Вас может проверить их сообщение в блоге на него:
Спасибо
Dave
Вам нужны кавычки вокруг значений
Например
frecordtype: "Large Record"
works
frecordtype:Large Record
Это будет искать Large во frecordtype, что ничего не вернет... затем Record через поле по умолчанию в solr.
.