2008-10-09 2 views
0

실제 키워드뿐만 아니라 동의어를 검색하려면 lucene이 필요합니다. 즉 "CI"를 검색하면 CI를 검색하거나 "통합 계속"을 원합니다. 지금 내가 동의어를 갖고있는 키워드를 검색하고 "OR-ed"버전으로 대체하지만 더 나은 방법이 있어야한다고 생각합니다. 내 방법은 "x와 y 또는 z와 같은"복잡한 쿼리에 대해서는 작동하지 않습니다.Lucene.Net에서 동의어를 사용하는 방법

+0

이 문제에 대한 해결책을 찾았습니까? – flalar

답변

2

이 기능을 구현할 계획이 거의 있습니다. 나는 내 자신의 버전을 구축 할 계획 이었지만이 사이트를 가로 질렀다. WordNet.Net 동의어를 만드는 문제를 해결하려고하는 것 같다. Lucene.Net에 wordnet 확장 기능이있어 쿼리를 다시 작성합니다. 그래서 이것을 처리하는 표준 방법이라고 생각합니다.

+0

나는 둘러 보았지만 어떤 wordnet Lucene.NET 모듈도 찾을 수 없었다. (나는 깨진 링크를 발견했다.) –

+0

방금 ​​살펴 봤는데 주요 Lucene.Net Contrib 폴더에 WordNet 코드가있는 것으로 보입니다. https://github.com/apache/lucene.net/tree/trunk/src/contrib/WordNet –

0

적어도 Java 버전의 Lucene에서는 QueryParser가 빌드 할 BooleanQuery Query 오브젝트를 파헤치는 재귀 함수를 작성할 수 있습니다. TermQuery가 발견 될 때마다 OR이라는 원래 용어가 쿼리에 추가 할 새 용어의 BooleanQuery로 바뀔 수 있습니다.