다음 Postgres 쿼리를 실행합니다.두 문자열 사이의 거리 계산하기
SELECT * FROM description WHERE levenshtein(desci, 'Description text?') <= 6 LIMIT 10;
메신저 위의 쿼리를 실행하면 다음 코드가 사용됩니다.
public static boolean authQuestion(String question) throws SQLException{
boolean isDescAvailable = false;
Connection connection = null;
try {
connection = DbRes.getConnection();
String query = "SELECT * FROM description WHERE levenshtein(desci, ?) <= 6";
PreparedStatement checkStmt = dbCon.prepareStatement(query);
checkStmt.setString(1, question);
ResultSet rs = checkStmt.executeQuery();
while (rs.next()) {
isDescAvailable = true;
}
} catch (URISyntaxException e1) {
e1.printStackTrace();
} catch (SQLException sqle) {
sqle.printStackTrace();
} catch (Exception e) {
if (connection != null)
connection.close();
} finally {
if (connection != null)
connection.close();
}
return isDescAvailable;
}
입력 텍스트와 데이터베이스에 존재하는 값 사이의 편집 거리를 찾고 싶습니다. 나는 편집 거리가 60 % 인 모든 데이터를 가져오고 싶다. 위의 쿼리는 예상대로 작동하지 않습니다. 60 %의 유사성이있는 행을 얻으려면 어떻게해야합니까?
Java 코드는 여기에서 거의 무의미합니다. 데이터베이스에서 얻은 결과는 무엇입니까? 당신이 기대하는 결과는 무엇입니까? ** 귀하의 질문에 ** 샘플 데이터를 추가하고 해당 데이터를 기반으로 예상되는 출력을 추가하십시오. [** 포맷 된 텍스트 **] (http://stackoverflow.com/help/formatting)하시기 바랍니다. [스크린 샷 없음] (http://meta.stackoverflow.com/questions/285551/why-may-i-not -upload-images-of-code-on-so-asking-a-question/285557 # 285557) –
아이디어가 있습니까? ..... –