Как ссылаться на пользовательский класс Java в стадии индекса Fusion Solr Javascript?

На этапе индексации Javascript в Fusion мы можем импортировать классы Java и запускать их в javascript, например:

var imports = new JavaImporter(java.lang.String);
with (imports) {
    var name = new String("foo"); ...
}

Если мы настроили сложные Java-классы, как включить jar-файл компиляции в Fusion, чтобы класс можно было импортировать на этапах индексации Javascript для использования?

И где мы можем хранить значения конфигурации для этапа индексации Javascript для поиска и как их получить?

Я думаю о чем-то вроде этого:

var imports = new JavaImporter(mycompany.com.custompkg.SomeParser);
with (imports) {
    var some_config = ResourceManager.GetString("key");
    var sp = new SomeParser(some_config); ...
}

С уважением, Кельвин

1 ответ

Начиная с Fusion 4.x API и Connectors начали использовать общее расположение для jar, то есть apps / libs. Это разумное место для размещения нестандартных банок, но службы должны быть также про новые банки. Это сделано в двух местах

/jetty/connectors-classic/webapps/connectors-extra-classpath.txt
./jetty/api/webapps/api-extra-classpath.txt

Кроме того, индексные документы могут обрабатываться службой API, поэтому, даже если jar используется только для индексации, зарегистрируйтесь в обоих classpath. Наконец, отказов услуги.

Поместите файл класса Java как файл jar в папку $FUSION_HOME/apps/jetty/api/webapps/api/WEB-INF/lib/.

Я использовал это для доступа к своему пользовательскому классу. var SomeParser = Java.type('mycompany.com.custompkg.SomeParser');

Другие вопросы по тегам