zoukankan      html  css  js  c++  java
  • Solr Suggest 配置

    1.配置

    <searchComponent  name="suggest" class="solr.SpellCheckComponent">

        <str name="queryAnalyzerFieldType">string</str>

        <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.TSTLookup</str>

            <str name="field">text</str>

            <float name="threshold">0.0001</float>

            <str name="spellcheckIndexDir">spellchecker</str>

            <str name="comparatorClass">freq</str>

            <str name="buildOnOptimize">true</str>

            <!--<str name="buildOnCommit">true</str>-->

        </lst>

    </searchComponent>

    <requestHandler  name="/suggest" class="solr.SearchHandler" startup="lazy">

        <lst name="defaults">

            <str name="spellcheck">true</str>

            <str name="spellcheck.dictionary">suggest</str>

            <str name="spellcheck.onlyMorePopular">true</str>

            <str name="spellcheck.extendedResults">false</str>

            <str name="spellcheck.count">10</str>

            <str name="spellcheck.collate">true</str>

        </lst>

        <arr name="components">

            <str>suggest</str>

        </arr>

     </requestHandler>

     
     
    /suggest?q=....
     
    public JsonResult SolrSuggest(string text)
            {
                List<string> list=new List<string>();
                var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
                var results = solr.Query(text, new QueryOptions()
                {
                    SpellCheck = new SpellCheckingParameters(){Collate = true}
                });
                foreach (var item in results.SpellChecking)
                {
                    foreach (var sc in item.Suggestions)
                    {
                        list.Add(sc);
                    }
                }
                return Json(list, JsonRequestBehavior.AllowGet);
            }
  • 相关阅读:
    移动端rem切图
    在Vue中如何使用axios跨域访问数据
    如何使地图和柱状图联动
    dedecms 5.7 采集目标文章的发布时间 采集后变成当前本地时间
    PHP的内存限制 Allowed memory size of 134217728 bytes exhausted (tried to allocate 1099 bytes) in
    Web前端性能优化——如何提高页面加载速度
    jquery中链式调用原理
    jdk1.6以后 对synchronized锁做了哪些优化
    Synchronized的锁优化
    分布式缓存
  • 原文地址:https://www.cnblogs.com/steben/p/3808194.html
Copyright © 2011-2022 走看看