Мы в настоящее время работаем над подтверждением концепции клиентского использования Solr и смогли настроить все функции, которые они хотят кроме выигрыша.
Проблема состоит в том, что они хотят очки, которые заставляют результаты упасть в блоках:
Первая вещь, которую мы сделали, была, разрабатывают пользовательский класс подобия, который возвратил бы корректный счет в зависимости от поля и точного или частичного соответствия.
Единственная проблема теперь состоит в том, что, когда документ соответствует на обоих категории и называет очки, добавляются вместе.
Пример: поиск "ресторана" возвращает документы в ресторане категории, которые также имеют ресторан слова на их имя и таким образом получают счет 5 (4+1), но они должны только добраться 4.
Я принимаю, чтобы это работало, мы должны были бы разработать пользовательский класс Маркера, но у нас нет подсказки о том, как включить это в Solr. Другая опция состоит в том, чтобы создать пользовательскую реализацию SortField, подобную RandomSortField, уже существующему в Solr.
Возможно, существует даже простое решение, о котором мы не знаем.
Все приветствующиеся предложения!
Я считаю, что Solr's DisMaxRequestHandler может помочь вам.
Вот объяснение disaxman и обзор анализаторов запросов Марка Миллера .
Счетчик - это часть запросов Lucene, использующих метод запроса "вес".
Короче говоря, фреймворк вызывает Query.weight (..). Scorer (..). Взгляните на
http://lucene.apache.org/java/2_4_0/api/org/apache/lucene/search/Query.html
http://lucene.apache.org/java/2_4_0 /api/org/apache/lucene/search/Weight.html
http://lucene.apache.org/jva/2_4_0/api/org/apache/lucene/search/Scorer.html
Чтобы использовать ваш собственный класс Query в Solr, вам необходимо реализовать свой собственный solr QueryParserPlugin, который использует ваш собственный QParser, который генерирует ваш ранее реализованный запрос lucene. Затем вы можете использовать его в Solr, указанном здесь:
http://wiki.apache.org/solr/SolrPlugins#QParserPlugin
Эта часть реализации должна оставаться простой, поскольку это всего лишь некоторый склеивающий код.
Наслаждайтесь взломом Solr!