2012-12-10 2 views
2

내 데이터베이스에 키워드 목록이 있습니다. 예 : Java 프로그램, PHP 프로그램 등. Lucene을 사용하여 이러한 키워드의 색인을 생성합니다. 키워드 (색인어)보다 긴 텍스트를 검색 할 때 어떻게 일치합니까? 예를 들면 : "내 자바 프로그램이 당신 것보다 낫다"를 찾고 있습니다. 내가 keywod "Java 프로그램"색인을 생성했기 때문에 나는 일치를 기대합니까? Lucene을 사용하여 효율적으로이 작업을 수행하는 방법은 무엇입니까? Lucene이 아니라면 내가이 일을 위해 무엇을 사용할 수 있습니까?Lucene 역방향 검색

독립적 인 키워드 "java"및 "program"과 일치하고 싶지 않습니다. "Java 프로그램"(색인을 생성 한 것과 마찬가지로 하나의 키워드로)에 대한 일치를 원합니다.

감사합니다. 당신이 StandardAnalyzer와 키워드를 색인 한 경우

+0

[MemoryIndex] (http://lucene.apache.org/core/old_versioned_docs/versions/3_0_0/api/contrib-memory/org/apache/lucene/index/memory/MemoryIndex.html)에서 살펴볼 수 있습니다.) –

+0

구문 검색을 사용하지 않는 이유는 무엇입니까? –

답변

2

, 당신이

My Java Program is better than yours. 

어느 인용 또는 그런 일이 효과적으로 7 개 쿼리로 해석하지 않는 (이하 같은 쿼리 문자열을 매우 효율적으로 조회 할 수있다 stopwords를 제거한 후), "java"를 찾을 때와 "program"을 찾을 때 일치 할 것입니다.

+0

죄송합니다. 나는 "자바"와 "프로그램"을 독립적으로 매치시키고 싶지 않다. 인덱싱 된 정확한 키워드 인 "Java 프로그램"과 일치시키고 자합니다. 감사. – M99

+0

기본 분류 (관련성)가있는 경우 "Java 프로그램"으로 색인이 생성 된 문서는 "Java"만있는 것보다 높은 점수를 얻습니다. 정확한 일치는 교묘합니다. –

+0

예 또는 아니오를 찾고 있습니다. 상위 일치를 선택하면 전체 "Java 프로그램"대 "Java"(또는) "프로그램"의 일치 여부를 어떻게 확인할 수 있습니까? 감사. – M99