• 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);
            }
  • 相关阅读:
    移除中文部分
    将阿拉伯数字转换为语文汉字数字
    Lua 字符串
    json.dump()和json.load()
    json文件为空时读取会报错
    矩阵相加
    python 三维数组找最小值
    python 行列式计算
    python 日期的减法
    python 字典的合并
  • 原文地址:https://www.cnblogs.com/steben/p/3808194.html
Copyright © 2020-2023  润新知