Lucene과 관련하여 문제가 발생합니다.Lucene 문제는 하이픈으로 연결된 필드를 검색했습니다.
doc.Add(new Field("cataloguenumber", i.CatalogueNumber.ToLower(), Field.Store.YES, Field.Index.ANALYZED));
같은 것을 보이는 카탈로그 번호가 포함됩니다 :
- DF-GH5
- DF-FJ4
- DF-DOG
- AC를 나는 다음과 같은 필드가 -DP
- AC-123
- AC-DOCO
즉 2 자 뒤에 하이픈과 2 자 이상의 영숫자가옵니다.
나는 사용자가 데이터를 통해 검색 할 수 있도록 부울 쿼리를 실행하기 위해 노력하고있어 :// specify the search fields, lucene search in multiple fields
string[] searchfields = new string[] { "cataloguenumber", "title", "author", "categories", "year", "length", "keyword", "description" };
// Making a boolean query for searching and get the searched hits
BooleanQuery mainQuery = new BooleanQuery();
QueryParser parser;
//Add filter for main keyword
parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_30, searchfields, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30));
parser.AllowLeadingWildcard = true;
mainQuery.Add(parser.Parse(GetMainSearchQueryString(SearchPhrase)), Occur.MUST);
시스템
은 어떤 이유가 전혀 작동하지 않는 cataloguenumber를 제외한 모든 필드에 대해 잘 작동. "DF-"사람이 내가이 일을 할 수있는 방법을 알고 있나요 DF
접두사 모든 항목을 반환해야합니다 예를 들어, 그래서이상적으로 우리는 전체 또는 부분 cataloguenumber으로 검색 할 수 있도록하고 싶습니다? 사전에 대단히
감사
올리
그것은 내가 _mcd.cfs 파일을 열했고 내가 거기에 –