2013-09-11 20 views
0

У меня возникли проблемы с запуском solr в качестве задачи градации. Пример из https://github.com/fhopf/solr-facet-example/blob/master/build.gradle показывает запуск solr 4.0, но я хочу запустить его через solr 4.4. Я сделал конфигурации, какКак запустить solr 4.4 через град?

configurations { 
    solrWebApp 
} 
dependencies { 
    solrWebApp "org.apache.solr:solr:[email protected]" 
    testCompile "junit:junit:4.10" 
    testCompile "org.apache.solr:solr-test-framework:4.4.0" 
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.+' 
} 
jettyRun.webAppSourceDirectory = file("webapp") 
task runSolr(type: JettyRunWar) { 
    webApp = configurations.solrWebApp.singleFile 
} 
//currently this points to solr 4.0 , should be configured to use solr 4.4 
runSolr.doFirst { 
    System.setProperty("solr.solr.home", "/opt/solr_home") 
} 

httpPort = 8080 
stopPort = 9451 

Мои solr_home указывает на ядро, имеющее Lucene версии 4.4 тоже, но сообщение об ошибке показывает.

Unable to create core: helloworld 
org.apache.solr.common.SolrException: Invalid luceneMatchVersion '4.4', valid values are: [LUCENE_30, LUCENE_31, LUCENE_32, LUCENE_33, LUCENE_34, LUCENE_35, LUCENE_36, LUCENE_40, LUCENE_CURRENT] or a string in format 'V.V' 
--------------- 
Caused by: java.lang.IllegalArgumentException: No enum const class org.apache.lucene.util.Version.LUCENE_44 
    at java.lang.Enum.valueOf(Enum.java:214) 
    at org.apache.lucene.util.Version.valueOf(Version.java:34) 
    at org.apache.lucene.util.Version.parseLeniently(Version.java:119) 
    at org.apache.solr.core.Config.parseLuceneVersionString(Config.java:311) 
    ... 130 more 

Мой Solr дом имеет lucene4.4

Может кто-нибудь помочь мне с этим?

+0

Похоже, эта тема может помочь: http://stackoverflow.com/questions/17519095/invalid-lucenematchversion-lucene-36. –

+0

Спасибо Тим. Я пробовал это без успеха. Теперь я внес некоторые изменения. Вместо моего нового ядра я использовал solr по умолчанию «collection1». Он работает, но ничего не показывает. Вы можете увидеть подобный поток здесь. Http: //forums.gradle.org/gradle/topics/run_solr_4_4_from_gradle – 89n3ur0n

+0

Возможный дубликат [Установка Apache Solr 4.3.1 на Apache Tomcat 6.0] (http://stackoverflow.com/questions/ 17619809/install-apache-solr-4-3-1-on-apache-tomcat-6-0) – kenorb

ответ

0

Вы случайно отказались от предыдущего распределения Solr? В этом случае у вас могут быть старые файлы, такие как распакованный каталог webapp, который поступает из файла войны в дистрибутиве. Возможно, вам придется удалить их, запустите Solr из командной строки один раз и повторите попытку.

+0

Привет Удалил мой каталог кэша градиента, а также добавил файл solr.xml с новой конфигурацией ядра, чтобы он обнаружил ядро ​​«HelloWorld» ». Это сработало хорошо. Солр встал. Следующая проблема, когда я запускаю свои тесты через gradle, всегда пытается найти core collection1. Не знаю, почему! Изучение этого. – 89n3ur0n

+0

collection1 - это имя по умолчанию для установки с одной сборкой. Ваш град, вероятно, не находит ваш solr.xml и возвращается к значениям по умолчанию. Это может означать неправильную настройку и другими способами. Я бы проверил это очень внимательно. –

+0

Но в граде, подумайте, что нет способа сказать, чтобы забрать solr.xml, когда он начнется solr. Здесь ? – 89n3ur0n

Смежные вопросы