많은 양의 도시 이름에 대해 자동 완성 텍스트 상자를 만들려고합니다. 검색 기능은 다음과 같습니다. 여러 단어로 구성된 구문으로 "시작"검색을 원합니다. 예를 들어 사용자가 "chicago he"를 입력 한 경우 "Chicago Heights"와 같은 위치 만 반환해야합니다.
Lucene을 사용하려고합니다. 어떻게 구현해야하는지 이해하는 데 문제가 있습니다. 내가 무슨 생각을 해봤Lucene.net 및 부분 "starts with"구문 검색
가 작동해야하는 방법이다 :
doc.Add(new Field("Name", data.ToLower(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
을 검색하십시오 :
을 내가 KeywordAnalyzer와 위치를 색인 한 (I는 모두 UN_TOKENIZED을 토큰 화 및 시도했습니다) (다른 여러 가지 쿼리/분석기/등을 시도했습니다.)
var luceneQuery = new BooleanQuery();
var wildcardQuery = new WildcardQuery(new Term("Name", "chicago hei*"));
luceneQuery.Add(wildcardQuery, BooleanClause.Occur.MUST);
결과가 없습니다. 어떤 조언을 부탁드립니다.
어떤 분석기를 사용하고 있습니까? – sisve