Я плохо знаком с использованием Solr, и я должен пропускать что-то.
Я еще не затрагивал очень в схеме в качестве примера, и я импортировал некоторые демонстрационные данные. Я также настроил LocalSolr
, и это, кажется, работает хорошо.
Моя проблема только с запросами Solr
в целом. У меня есть документ, где поле имени установлено на tom. Я продолжаю смотреть на файлы конфигурации, и я просто не могу выяснить, где я спутываюсь. Набор полей индексируется и хранится, и я вижу значения в администраторе, но я не могу заставить запросы работать правильно. Я попробовал различные запросы (http://server.com/solr/select/?q=value) и здесь являюсь результатами:
**Query:** ?q=tom
**Result:** No results
**Query:** q=\*:\*
**Result:** 10 docs returned
**Query:** ?q=*:tom
**Result:** No results
**Query:** ?q=name:tom
**Result:** 1 result (the doc with name : tom)
Я хочу получить первый случай (?q=tom)
работа. Любой вход на том, что могло бы идти не так, как надо, и как я могу исправить его, ценился бы.
Установите
на имя
в вашей Schema.xml
используется Solr при разборке запросов идентифицировать какое имя поля следует искать в Запросы, где название явного поля не был использован.
Вы также можете проверить (E) Развивать вместо этого.
Проходите через Учебное пособие Solr определенно стоит вашего времени: http://lucene.apache.org/solr/tutorial.html
Я думаю, что поле «Имя» не проиндексировано, поэтому вы не можете искать на нем. Вам нужно будет изменить свою схему, чтобы сделать его проиндексированным.
Также убедитесь, что ваш XML на самом деле строки с схемой. Поэтому, если вы добавляете поле «Имя» в XML, но схема не знает об этом, то SOLR просто будет игнорировать это поле (т.е. это не будет «сохранено» или «индексировано»).
Удачи
Ну, несмотря на настройку поля поиска по умолчанию, вполне полезно, я не понимаю, почему вы просто не используете синтаксис запроса Solr:
......./?q=name:tom
или
.... ... / q = : & fq = name: Tom