我剛剛安裝了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>
而且當我用Java的罐子start.jr我得到這個錯誤
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> –