lucene의 분석기는 어떻게 작동하는지 파악하려고합니다. 제 질문은 lucene이 동의어를 어떻게 처리합니까? 여기 상황은 다음과 같습니다 foo는 = 바 멀티 단어 : 하나의 단어를 들어 foo는 바 = foobar와Lucene 동의어 필터 동작
:
- 는 루씬의 색인 기록을 확장 하는가 우리는 하나의 단어 및 다중 단어
하나가 안 그래? 쿼리에 "foo"와 같은 단어가 있으면 쿼리에 "bar"도 추가됩니다. 색인 생성 여부에 대해 알지 못합니까?
이- 는 루씬은 쿼리 및 인덱스를 모두 확장 하는가 : 멀티 단어를
? 예를 들어 "foo bar"가 있으면 인덱싱/쿼리에 foobar를 추가합니까?
두 번째 질문은 Lucene이 토큰 스트림을 사용하여이를 소문자 필터와 같은 필터에 제공한다는 것입니다. 제 질문은 lucene이 다중 단어를 어떻게 찾습니까? 어떻게 "foo bar"는 함께있는 다중 단어라는 것을 알 수 있습니까?
감사
어떻게 여러 동의어가 처리됩니까? "New York"= "NY" wal mart = wal-mart = walmart 토큰별로 필터링 토큰을 사용하기 때문에. 어떻게 다중 단어 동의어를 찾았는지 모르겠다. –
동작에 대해 혼란스러워하는 것이 있거나 구현이 토큰 스트림을 처리하는 방법을 알고 싶습니까? 후자는 소스 코드에 대한 링크를 제공 한 이유입니다. 전자의 경우, 주어진 위치에서 가장 길게 일치하는 것을 검색합니다 (즉, 'foo' ->'bar','foo bar' ->'foobar' 규칙이있는 경우'foo bar'가됩니다) '바 bar'가 아니라'foobar'). 나는 그것이'wal mart = wal-mart = walmart' (동의어 규칙은 하나의 입력과 하나의 출력을 가짐)과 같은 것을 지원한다고 믿지 않는다. 그것에 대해 물어보고 싶은 특정 것이 있으면 계속하십시오. – femtoRgon
제 질문은 토큰 스트림을 처리하는 방법입니다. 왜냐하면 동의어 필터가 하나씩 토큰을 가져오고 상태가 덜한 것 같기 때문입니다. 예를 들어 현재 토큰이 "New"이면 다음 토큰이 "York"인지 여부를 확인하는 방법은 무엇입니까? –