为什么solr的反应不正确

时间:2013-02-17 15:48:19

标签: javascript solr

我向solr发出请求,我想查找以该字符串开头的biz_subject列中的所有记录 - myel但是当我测试此查询时,我发现solr给了我一些记录{{1在中间或结尾!我不希望这样。

例如,当我搜索myel时,回复应该是evnevno等等,响应也会给出evniiiiilimevnii和我不想要那些。

kisuevn

schema.xml中

function triming()
{
   k++;
   xmlhttp.onreadystatechange = function() 
   { 
        if (xmlhttp.readyState==4 && xmlhttp.status==200) 
        {
           alert(xmlhttp.responseText);
           var  str = xmlhttp.responseText;
           var rsp = JSON.parse(str);

           var object;
           alert (rsp.response.numFound);
           //Pin marker on the maps
           for( var i = 0; i < rsp.response.numFound; i++) 
           {
              object = rsp.response.docs[i];
           }
           alert (rsp.response.docs[1].biz_subject);
            //title: object.biz_subject,                
        }
    }


    var url = "http://localhost:8983/solr/db/select?q=biz_subject:" + encodeURIComponent(newstr)+"*&wt=json&indent=true";
    //  alert (url);
        xmlhttp.open("GET", url, true);
        xmlhttp.send(); 
  }

1 个答案:

答案 0 :(得分:2)

看起来你可以制作biz_subject字符串的fieldType。或者,如果您需要text用于其他搜索目的,请创建一个名为biz_subject的{​​{1}} biz_subject_str,其类型为字符串。然后,您可以在搜索字词上执行通配符搜索,例如

q=biz_subject:evn*

q=biz_subject_str:evn*

在索引编制过程中,字符串不会被拆分为令牌,因此您不应将limevnii作为匹配项。