1
문자열 형식의 lucene 쿼리 값을 수정하려는 요구 사항이 있습니다. 사용자 인터페이스에서 입력으로 lucene 쿼리를 가져 와서 탄성으로 전달합니다.Lucene 쿼리 수정
예 :
입력 : 이름 : "ABC"나이 : 26
출력 예상 : 이름 : "abcmodified"과 userage : 26
어떻게 분석하고 자바에서 문자열 형식의 루씬의 쿼리를 수정합니까?
문자열 형식의 lucene 쿼리 값을 수정하려는 요구 사항이 있습니다. 사용자 인터페이스에서 입력으로 lucene 쿼리를 가져 와서 탄성으로 전달합니다.Lucene 쿼리 수정
예 :
입력 : 이름 : "ABC"나이 : 26
출력 예상 : 이름 : "abcmodified"과 userage : 26
어떻게 분석하고 자바에서 문자열 형식의 루씬의 쿼리를 수정합니까?
org.apache.lucene.queryparser.classic.QueryParser
을 조사해 보셨습니까? 입력 문자열에서 Lucene Query Object를 반환하는 기능이 있습니다. 예 :
String rawQuery = "name:abc AND age:26";
QueryParser parser = new QueryParser(Version.LUCENE_45, null, new WhitespaceAnalyzer(Version.LUCENE_45));
BooleanQuery query = (BooleanQuery) praser.parse(rawQuery);
query.clauses().get(0).setQuery(new TermQuery(new Term("name", "abcmodified")));
query.clauses().get(1).setQuery(new TermQuery(new Term("userage", "26")));
System.out.println(query);
기본적으로 원하는 내용입니다. 분명히 쿼리 유형 (부울, 접두어, 용어, 퍼지 등)을 기반으로 쿼리를 순회하는 재귀 적 방법을 사용하여 더 똑똑한 처리를 수행 할 수 있습니다.
희망이 있습니다.