SO를 통해 검색 후, 난 내가 검색을 구현하는 SOLR을 사용하고, 자동 완성을 구현하고자, 사방이 코드 조각을 발견하고, SOLR JQuery와 자동 완성 URL이 소스
var cache = {};
$("#textbox").autocomplete({
source: function(request, response) {
if (request.term in cache) {
response($.map(cache[request.term].d, function(item) {
return { value: item.value, id: item.id }
}))
return;
}
$.ajax({
url: "/Services/AutoCompleteService.asmx/GetEmployees", /* I use a web service */
data: "{ 'term': '" + request.term + "' }",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function(data) { return data; },
success: function(data) {
cache[request.term] = data;
response($.map(data.d, function(item) {
return {
value: item.value,
id: item.id
}
}))
},
error: HandleAjaxError // custom method
});
},
minLength: 3,
select: function(event, ui) {
if (ui.item) {
formatAutoComplete(ui.item); // custom method
}
}
});
Autocomplet
구현 TermsComponent 원수를 사용하고 싶었
내 질문에, URL 소스를 구성하는 방법, 다음 URL을해야합니다. http://localhost:8983/solr/terms?terms.fl=name&terms.prefix=at&wt=json&omitHeader=true 결과를 지금 에게 제공합니다. 이제 pls는 내 URL 소스가되어야한다고 말하고, 사용자 정의하려면 terms.lower = py & terms.lower.incl = false & 들여 쓰기와 같은 매개 변수들 = 사실 & wt = json 등, URL에서 또는 java 클래스의 코드를 더 잘 해독해야합니다. List terms = query (q, Integer.parseInt (limit));
private List<TermsResponse.Term> query(String q, int limit) {
List<TermsResponse.Term> items = null;
SolrQuery query = new SolrQuery();
query.addTermsField("spell");
query.setTerms(true);
query.setTermsLimit(limit);
query.setTermsLower(q);
query.setTermsPrefix(q);
query.setQueryType("/terms");
try {
QueryResponse qr = server.query(query);
TermsResponse resp = qr.getTermsResponse();
items = resp.getTerms("name");
} catch (SolrServerException e) {
items = null;
}
return items;
은} 도와주세요, JQuery와의 음 너무 좋지 않다, 그래서 난 그냥 여기에 URL을 수정하거나 몇 가지 더를 사용자 정의해야 할 필요 와트를 들어, 한 가지 더 확인하고 싶어 things
감사합니다 maurico,하지만 URL 소스와 함께 나를 도울 수있는 pls ..이 사용 ..하지만 can not는 resul을 얻을 .. u는 wats 잘못 말할 수 있습니다. url : "http : // localhost : 8983/solr/termsterms .fl = 이름 & wt = json & omitHeader = true & terms.prefix = "+ this.value – grandmaster