solr 自动提示

//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)); 
} 
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值