【发布时间】:2016-05-23 06:00:06
【问题描述】:
我需要什么
我需要像亚马逊和其他电子商务网站一样使用暗示搜索来构建搜索。
我已尝试使用通配符搜索,它的工作方式类似于 q=string;但是当错误的单词说 plnts 时我无法搜索,bcs 仅适用于 0,1 形式。
当我使用模糊搜索 q="string~1" 时,它会在植物->写 plnts 时给出结果,但它无法在关键字 zer 中搜索肥料。
我使用了建议器,但它不是完整的搜索要求链接:http://wiki.apache.org/solr/Suggester。
我苦苦挣扎了 3 天才得到解决方案。
我在 google 上找到了链接:https://gist.github.com/dalegaspi/20b7db4ef2d4d55be661 twitter 使用的 typehaed js。
-
我用过的代码
function startSolrSearch () { var srchval = $("#productSearch").val().trim(); if (srchval.length >= 1){ srchval = srchval.replace(/'|"/g,"").replace(/ /g,"*+*"); srchval = srchval.replace(/ /g,"+AND+"); console.log(srchval); srchval = "*"+srchval+"*"; for(var i = 0; i < solrPendingRequests.length; i++){ solrPendingRequests[i].abort(); } console.log(srchval); solrPendingRequests.push($.ajax({ type : "GET", url : solrbasepath + "solr/afeef/select?q="+srchval+'~'+1+"&facet=true&facet.field=title&facet.field=keywords&facet.field=category&indent=on&qt=spellchecker&wt=json&hl=true&hl.fl=title+keywords+model_name&hl.simple.pre=<b>&hl.simple.post=<%2Fb>&hl.usePhraseHighlighter=true&hl.highlightMultiTerm=true&hl.snippets=1&start=0&rows=100", dataType : 'JSONP', cache : false, jsonp: 'json.wrf', success : function(html) { getSearchData (html); } })); } else { $('#searchsuggestion .linkresults').html(''); $('#searchsuggestion').hide(); $('.close_search').hide(); }网址
http://www.supplified.com:8983/solr/vikas/select?q=zer~1 OR q="*zer*" &ind nt=on&q.op=AND&facet=true&facet.field=title&facet.field=keywords&debugQuery=on&qt=spellchecker&wt=json&hl=true&hl.fl=title+keywords+model_name&hl.simple.pre=%3Cb%3E&hl.simple.post=%3C%2Fb%3E&hl.usePhraseHighlighter=true&hl.highlightMultiTerm=true&hl.snippets=1&start=0&rows=10&json.wrf=jQuery111205813984868582338_1454571708911&_=1454571708913 我需要建议我如何使用暗示性搜索,例如在电子商务网站中使用的亚马逊。
【问题讨论】:
标签: regex apache search solr autosuggest