2009-12-12 3 views
1

나는 특정 항목의 메타 필드를 추가하는 Java Lucene 기반 검색 시스템을 구축 중이며, 그 중 하나는 항목의 출처를 나타내는 sourceId 필드입니다.숫자로 검색하는 Lucene

이제 특정 소스에서 모든 문서를 검색하려고하지만 색인에서 찾을 수없는 것으로 보입니다. 그러나 와일드 카드 값을 검색하면 반환 된 문서에 모두이 필드에 대한 올바른 값이 있습니다.

내가 사용하고있어 루씬 쿼리는 기본적으로 index-source-id:1 매우 간단하지만 내가 content:a* 검색하면 내가 할 모든 안타를 반환하지 물었다 때 index-source-id의 값 1을 반환 모두 문서의 수십, 가치, 올바른지.

아이디어가 있으십니까?

답변

1

나는 PHP 포트로만 작업했지만, 사용중인 텍스트 분석기를 확인 했습니까? 이 FAQ은 PHP 버전과 같이 숫자를 제거하지 않는 다른 버전을 사용해야 함을 나타냅니다.
analyzers here

목록을 찾을 수 있습니다. 색인을 생성 할 수 있도록 ID를 설정 했습니까?

+0

색인을 생성 할 수 있도록 ID를 설정했습니다. 분석기 목록을 찾고 있었지만 번호가 특히 중요하다고 말한 사람을 찾을 수 없었습니다. StandardAnalyzer는 사용하지 않는 것으로 보였으므로 아마도 도움이 될 것입니다. – Martin

+1

SimpleAnalyzer 대신 StandardAnalyzer를 사용하여 색인을 재구성 한 다음 검색하면 트릭을 수행했습니다! – Martin

+1

나중에 참조하기 위해 id 필드를 본질적으로 원자로 간주하고 있기 때문에 Einstein이 Manhattan Project에서 그의 친구들과 함께 우리에게 보여준 것처럼 원자를 나누는 것이 좋은 방법이 아니기 때문에 id 필드를 분석 (토큰 화)하고 싶지는 않습니다. .. – Esko