Yup, that's basically what I've done too, here's the script part:
<http://svn.apache.org/viewvc/lucene/dev/trunk/solr/example/solr/conf/velocity/layout.vm?view=markup
>
I didn't touch the example solrconfig, though putting the params in
the request handler is the better way, as you have.
Erik
On Jun 18, 2010, at 3:32 AM, Chantal Ackermann wrote:
Hi,
here is my solution. It has been some time since I last looked at it,
but it works fine. :-)
<script type="text/javascript"
src="/solr/epg/admin/file?file=/velocity/
jquery-1.4.min.js&contentType=text/javascript"></script>
<script type="text/javascript"
src="/solr/epg/admin/file?file=/velocity/jquery-
ui.js&contentType=text/javascript"></script>
<script type="text/javascript"
src="/solr/epg/admin/file?file=/velocity/
jquery.autocomplete.js&contentType=text/javascript"></script>
<link rel="stylesheet" type="text/css"
href="/solr/epg/admin/file?file=/velocity/
jquery.autocomplete.css&contentType=text/css"/>
<script type="text/javascript"
src="/solr/epg/admin/file?file=/velocity/
jquery.json-2.2.min.js&contentType=text/javascript"></script>
$(function() {
$("#qterm").autocomplete('/solr/epg/suggest', {
extraParams: {
'terms.prefix': function() { return $("#qterm").val(); }
},
hightlight: false,
max: 30,
formatItem: function(row, i, n) {
return row;
},
parse: function(data) {
var json = jQuery.secureEvalJSON(data);
var terms = json.terms;
var suggMap = terms[1];
var suggest = [];
var j = 0;
for (i=0; i<suggMap.length; i=i+2) {
suggest[j] = {
data: suggMap[i],
value: suggMap[i],
result: suggMap[i]
}
j = j+1;
}
return suggest;
}
});
});
#qterm is the form's input text field.
in solrconfig.xml:
<requestHandler name="/suggest" class="solr.SearchHandler" >
<lst name="defaults">
<str name="echoParams">explicit</str>
<bool name="terms">true</bool>
<bool name="terms.lower.incl">false</bool>
<str name="wt">json</str>
<str name="terms.fl">suggestsrc</str>
</lst>
<arr name="components">
<str>terms</str>
</arr>
</requestHandler>
suggestsrc is of type solr.TextField, accumulated from different
source
fields.
Cheers,
Chantal