//solrconfig.xml
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<str name="queryAnalyzerFieldType">text_ik</str>
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">name1</str>
<str name="buildOnCommit">true</str>
<str name="spellcheckIndexDir">spellchecker</str>
</lst>
</searchComponent>
<searchComponent class="solr.SpellCheckComponent" name="suggest">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookupFactory</str>
<str name="field">name1</str>
<!-- the indexed field to derive suggestions from -->
<float name="threshold">0.005</float>
<str name="buildOnCommit">true</str>
</lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler"
name="/suggest">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.onlyMorePopular">true</str>
<str name="spellcheck.count">10</str>
<str name="spellcheck.collate">true</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
//java代码
String solrUrl = "http://localhost:8080/solr/ejavashopcore";
@Test
public void testQuerySuggest() throws Exception {
HttpSolrClient solrServer = new HttpSolrClient(solrUrl);
SolrQuery solrQuery = new SolrQuery();
// solrQuery.set("q", "奶");
solrQuery.set("q", "name1:奶");
solrQuery.set("qt", "/suggest");
QueryResponse queryResponse = solrServer.query(solrQuery);
SpellCheckResponse rsp = queryResponse.getSpellCheckResponse();
List<Suggestion> rst = rsp.getSuggestions();
for(Suggestion sg:rst){
System.out.println(JSON.toJSONString(sg,true));
}
}