2010-01-14 4 views
7

우리 회사의 다양한 콘텐츠 유형에 대한 검색 엔진을 구현하는 것을 고려 중이거나 노력 중이며 Lucene (특히 .net flavor)에 대한 내 머리를 감싸려고합니다.Lucene의 문서에 동일한 입력란이 있어야합니까?

내 우선적 인 질문은 하나의 색인에있는 문서가 동일한 입력란을 포함해야하는지 여부입니다.

예를 들어

:

문서 1 :

  • 제목 : "나는 문서, 아기 해요"
  • 본문 : 26.12224
  • :
  • 찾기 '여기에 몇 가지 중요한 것들입니다 "
  • 경도 : -65.23124
  • 브랜드 : Toshiba

Document2 :

  • 제목 :
  • 바디 "내 옆에 또 다른 문서": "LOREM의 ipsum의 모든 재즈"
  • 카테고리 : 기사
  • 저자 : 선생님 허리

... 등등

답변

14

lucene의 어떤 것도 균일하지 않습니다.

'fred'라는 필드를 검색하고 모든 문서가 'fred'가 아닌 경우 해당 검색은 fredless 문서를 찾지 않습니다.

+3

당신은 나의 새로운 영웅입니다. – Matt

0

특정 필드에 대해 색인을하려면 I g 모든 문서에는 동일한 필드가 있어야합니다.

+0

그건 내 직감이 말한 것입니다. 그러나 나는 어떤 식 으로든 구체적으로 말한 것을 찾을 수 없었습니다. – Matt

0

모두 Lucene에서 문서의 색인을 생성 한 방법에 따라 다릅니다. 모든 Document을 색인에 추가해야합니다. IndexWriter을 사용하거나 자신의 클래스를 작성하여이를 수행 할 수 있습니다. 색인에 문서를 추가하기 전에 이름 값 쌍으로 구분해야합니다. 결과적으로 QueryParser을 사용하여 Lucene에이 이름 값을 쿼리 할 수 ​​있습니다. 예를 들어, 다음 쿼리는 "I 'm a document, baby"라는 문구가있는 모든 문서를 반환하고 "Here is some important things"라는 본문을 반환합니다.

title:("I'm a document, baby") body:("Here are some important things") 

나는 간단한 예제를 보여 주었지만 여러 가지 방법으로 더 강력한 검색 쿼리를 만들 수 있습니다.

내가 언급 한 클래스는 java이지만 .net은 비슷해야합니다.

관련 문제