방금 Solr을 설치했고 저와 함께 작업하는 기본 스키마를 얻었습니다. 하지만 기본 스키마를 단순한 스키마로 변경하면 solr을 통해 PHP를 통해 연결할 수 없지만 여전히 Tomcat을 통해 액세스 할 수 있습니다. 내 PHP 코드는 다음과 같습니다PHP로 Solr에 연결하기
이require_once 'Apache/Solr/Service.php';
$solr = new Apache_Solr_Service(
'xxx.xx.xxx.xxx',
8080,
'/dev.example.com/');
if(!$solr->ping()){
echo 'Solr Down';
}
그리고 SOLR 내 스키마
또한<?xml version="1.0" ?>
<schema name="testschema1" version="1.5">
<types>
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
</types>
<fields>
<!-- general -->
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="type" type="string" indexed="true" stored="true" multiValued="false" />
<field name="name" type="string" indexed="true" stored="true" multiValued="false" />
<field name="core0" type="string" indexed="true" stored="true" multiValued="false" />
</fields>
<!-- field to use to determine and enforce document uniqueness. -->
<uniqueKey>id</uniqueKey>
<!-- field for the QueryParser to use when an explicit fieldname is absent -->
<defaultSearchField>name</defaultSearchField>
<!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
<solrQueryParser defaultOperator="OR"/>
</schema>
내가 start.jr -jar 자바를 사용할 때이 오류가
SEVERE: org.apache.solr.common.SolrException: undefined field text
at org.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1330)
at org.apache.solr.schema.IndexSchema$SolrQueryAnalyzer.getAnalyzer(IndexSchema.java:408)
그냥 명확히하기 위해 , 위의 스키마로 변경하면 PHP에서 연결되지 않습니다. solr이 제공하는 기본 스키마가 작동합니다. 몇 가지 필수 옵션이 누락 되었습니까?
기본 필드는 다음과 같이 설정됩니다. name defaultSearchField> –