ParseException Неизвестная функция termfreq в FunctionQuery - PullRequest
0 голосов
/ 24 января 2012

Какой правильный синтаксис, если мой запрос сформулирован неверно в приведенной выше ссылке для Apache 3.5 SOLR, и нужно ли мне включить что-то конкретное в solrconfig.xml и schema.xml

Использование Apache SOLR 3.5 и получениеParseException Uknown функция termfreq в FunctionQuery (tf (text, усилители) '

http://localhost:8983/solr/select/?fl=score,documentPageId&defType=func&q=tf%28text,amplifiers%29

Я следую синтаксису на других сайтах, потому что не знаю, как это сделать длядокументация в вики -> http://wiki.apache.org/solr/FunctionQuery

1 Ответ

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

Это не будет работать, функция запроса tf (поле, термин) , которую вы пытаетесь использовать, недоступна в 3.5 , просмотрите ValueSourceParser, если хотите перепроверить. Вам нужно получить Solr 4.x ночная сборка - Solr Nightly Build из ствола и использовать его, но будьте осторожны Solr 4.x еще не стабильно и не выпущено , будет существенный уровень изменений API по сравнению с 3.5.

Если вы заинтересованы в изучении кода, вы можете, например, если вы используете Maven, измените pom.xml, чтобы получить атрибуты из Trunk и просмотреть исходный код, начиная с ValueSourceParser, который должен сообщить вам если эти функции релевантности существуют и как их реализация.

Например: вы увидите парсеры, связанные с запросом термина векторной функции,

 // From Solr 4 `ValueSourceParser` Trunk Source Code
 addParser("tf", new ValueSourceParser() {
    @Override
    public ValueSource parse(FunctionQParser fp) throws ParseException {
      TInfo tinfo = parseTerm(fp);
      return new TFValueSource(tinfo.field, tinfo.val, tinfo.indexedField, tinfo.indexedBytes);
    }
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...