2013-10-30 4 views
0

Oracle Text Search contains을 여러 필드에서 사용하는 방법은 무엇입니까?특정 열의 Oracle Text 검색

난 단지 emp_namesupervisor 검색하고 싶은, 그래서 어떤 결과를 가져 오지 않았다 그러나 나는 다음과 같은 쿼리를

SELECT * FROM fulltext_helper WHERE contains(indexme,'jack and 
jill(/HELPER/EMP_NAME/SUPERVISOR)') > 0; 

을 사용했다.

테이블 또는 구체화 된보기의 특정 열을 사용하여 부울 연산자를 사용하거나 사용하지 않고 검색 할 수 있습니다.

+0

내 솔루션을 참조하십시오, 그것은 여러 테이블에도 작동합니다 http://stackoverflow.com/questions/19476447/oracle-text-search-on-multiple-tables -and-joins/19483275 # 19483275 – dbra

+0

@dbra 예 본인과 질문이 진실로 게시되어 답변 해 주셔서 감사합니다. 같은 테이블 또는 구체화 된 뷰의 여러 열을 수행하는 방법을 알고 싶습니까? 감사합니다. – user75ponic

답변

1

"/ HELPER/EMP_NAME/SUPERVISOR"경로에 "..."와 같은 잎을 검색하도록 지시합니다 (존재하지 않음). 또한 INPATH 연산자를 지정하십시오.

올바른 구문은 다음과 같습니다

CONTAINS(indexme,'jack INPATH(/HELPER/EMP_NAME) and jill INPATH(/HELPER/SUPERVISOR)') > 0; 
+0

'HELPER/EMP_NAME/SUPERVISOR'는 하위 요소를 올바르게 검색한다는 의미입니까? – user75ponic

+0

그런데 두 날짜 필드 사이에서 검색을 수행하는 방법은 무엇입니까? 예 : '01-Jan-2012 '와 '01-Dec-2012'사이의 모든 직원 created_date – user75ponic

+1

오라클 텍스트가 텍스트를 검색합니다 ... 텍스트! 그것은 soundex와 함께 그것을 할 수있는 많은 방법을 가지고 있지만, 텍스트의 의미론을 이해하지 못합니다. 숫자, 날짜 등등. 어쨌든 WHERE 절에서 결과를 필터링하고 추출 된 날짜에 조건을 추가하고 (EXCTRACT 연산자 사용) XML에서 TO_DATE 연산자로 숫자 날짜 유형으로 다시 변환 할 수 있습니다. – dbra