我试图按照以下方式对solr执行查询,但我没有收到。
我的查询:
String[] PROJECOES = { "*, score" };
try {
SolrQuery query = new SolrQuery();
query.setQuery("number:\"" + "03001534320168050079" + "\" ");
query.setStart(1);
query.setRows(1);
query.setFields(PROJECOES);
QueryResponse response = solrServer.query(query);
SolrDocumentList results = response.getResults();
System.out.println(query.getQuery());
System.out.println(results.size());
} catch (Exception e) {
e.printStackTrace();
}
我在solr架构中的字段:
<field name="number" type="text_general" indexed="true" stored="true"/>
我的配置字段类型:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- in this example, we will only use synonyms at query time
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
-->
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
PS:仅适用于java中的文本的查询。这个查询在solr应用程序管理器中有效。 我正在使用版本solr 4.10。