2012-11-20 3 views
2

나는 LuceneNet을 처음 사용합니다. 나는 아주 새로운 것을 말해야합니다. 나는 그것에 관해 많은 데이터를 읽은 후에 내가 지울 수 없었던 내 마음 속에 몇 가지 의심을 품었다. 글쎄, 나는 많은 PDF/Docs/Excels/Images와 관련 데이터를 가지고있는 웹 페이지를 가지고있을 scenerio에있다. 시스템에는 다양한 유형의 사용자가 있으며 그 중 일부는 특정 PDF/문서에 대한 액세스 권한을 가지며 일부는 그렇지 않습니다. Azure를 사용하여 내 앱을 배포하고 싶습니다. 그래서 사용자가 무언가를 검색한다면, 나는 그에게 그가 볼 수있는 결과만을 보여주고 싶습니다. LuceneNet을 사용하면 가능합니까? 또한 특정 문서/URL 등의 조회수를 추적하여 대부분 검색된 항목에 표시되도록 할 수 있습니다. LuceneNet을 사용하여 구현할 수 있습니까? PDF/Doc/Docx/XSL/XSLX/PPT/PPTX 등에서 파일 및 데이터의 색인을 생성하려면 무엇을 사용해야합니까? LuceneNet에서 데이터 (색인 데이터)를 어떻게 저장해야합니까? ? BLOB 저장소에 저장해야합니까? 그것은 권할 만합니까 ?? 내 응용 프로그램을 확장 가능해야합니다. 그러면 LuceneNet이 저를지지할까요? 작업자 역할이 여러 개있을 수 있습니까? 재 인덱싱은 어떻게 발생할 수 있습니까? 재 인덱싱하는 동안 모든 인덱스를 다시 생성합니까? 그렇다면 다시 인덱싱 할 수 있습니까? 너무 많은 질문에 대해 죄송합니다. 모두 올바른 순서가 아닐 수도 있습니다. 그러나 내가 회상하면서 물었다.다음 시나리오에서 LuceneNet은 어떻게 작동하고 구현 가능성이 있습니까?

답변

4

처음에는 "Lucene In Action"이라고하는 책을 권하고 싶습니다. Java 용이지만 현재 Lucene.NET 버전 인 Lucene 버전 3.0.3에 있습니다. API는 동일하므로 훌륭한 출발 자원.

답글 ... 1) Lucene.NET에서만 인증 된 레코드 만 표시 할 수 있습니까? 네, 여러 가지 방법으로 할 수 있습니다. 사용자가 필요할 경우 인덱스를 분리하거나 추가 필드를 추가하고 항상 검색 쿼리에 포함 할 수 있습니다.

2) 예 당신은뿐만 아니라 루씬의 히트를 추적 할 수 있습니다 (당신은 당신이 인덱스 PDF 파일, 문서 도구, DOCX 원하는 경우)

3) 히트의 로그를 유지하고 필요에 따라 삽입 할 수 있습니다 .. . 텍스트를 추출해야합니다. Lucene은 당신을 위해 그렇게하지 않을 것입니다. 따라서 Office 자동화 (Word 문서 용) 무료 API를 사용할 수 있습니다. API는 기본이지만 좀 더 성숙하고 비용이 많이 드는 경우 AsPose에 대한 비용이 필요합니다. (.NET 라이브러리를 사용하면 필요한 것을 정확하게 수행 할 수 있습니다.)

4) AzureDirectory를 추상화하고 BLOB 저장소를 사용하는 라이브러리가 있습니다. Lucene 3.0.3은 안정성 문제가 있으며 이전 Storage Client API (2.0 이전)를 사용합니다. Azure IaaS 가상 머신을 사용하고 디스크에 Lucene 인덱스를 저장합니다. 필요에 따라 더 많은 디스크를 확장 및 추가하고 스트라이핑 할 수 있습니다.

5) IndexWriter는 하나만 있어야하지만 여러 개의 인덱스 검색자가있을 수 있습니다.

6) Lucene 2.9.x부터는 "실시간"검색이 가능합니다. 여기서 인덱스 업데이트를 수행 할 수 있으며 검색어를 실행하는 검색자는 새로운 데이터를 실시간으로 "거의"실시간으로 확인할 수 있습니다. 인덱스는 완전히 커밋되거나 플러시됩니다.

+0

답장을 보내 주셔서 감사합니다. 하드 드라이브 자체에 인덱스를 저장한다는 말을하고 싶습니다. 만약 내가 단지 1 VM 인스턴스가 있다면, 그리고 푸른 하늘이 다른 인스턴스를 시작할 것이라고 말한다면 .. 그 인스턴스는 같은 인덱스를 가지고 있을까요 ?? 아니면 처음부터 다시 모든 것을 색인 할 필요가 있습니까? 하드 드라이브 고장도 마찬가지입니까? 그리고 내가 책 – Mandy

+0

에 대한 내 마음에 터지는 또 다른 의심스러워 보인다. 나는 두 개의 모듈을 가지고있다. x와 yx는 단지 사용자가 무엇인가를 쓸 수있게하고 첨부 파일을 추가하는 기능을 제공한다. 모듈 Y는 보이는 공통 정보를 제공한다. 이 장면에서 x 모듈은 문서를 작성/업로드 한 사용자에게 검색 결과 만 표시하고 여기에 내용을 입력해야합니다.Lucene.NET 색인에서 적절하게 검색 할 수 있습니까? 이 시나리오에서 수행해야 할 작업 및 검색된 모든 y는 모든 등록 된 사용자에게 표시되어야합니다. 그것은 모두 동일합니다. 그러면 두 모듈의 데이터를 어떻게 인덱스해야합니까? – Mandy

+1

예 ... Azure VM의 경우 최대 1TB 크기의 데이터 디스크를 연결할 수 있으며 총 16TB를 가질 수 있습니다. 그것은 많은 저장 공간입니다. 데이터 디스크는 Azure BLOB 저장소를 사용하므로 CloudXPlorere에서 복사/붙여 넣기를하거나 API를 사용하여 자동화하여 매우 쉽게 백업 할 수 있습니다. VM이 다운되면 PowerShell로 데이터 디스크를 자동으로 첨부합니다. 기존 데이터 디스크 (VHD)에서 데이터 디스크를 연결할 수 있습니다. 따라서 백업을 가지고 있다면 ... "가져올 수 있습니다."VM이 다운되거나 데이터 디스크 오류가 발생해도 색인을 복구 할 수 있습니다. ... –

관련 문제