0
나는 Mongo Db의 gridFS에 pdf 파일을 저장하고 탄성 검색을 사용하여 해당 pdf를 검색하려고했습니다.MongoDB를 사용한 탄성 검색 : PDF 검색
1) 몽고 DB 사이드 :
mongod --port 27017 --replSet rs0 --dbpath "D:\Mongo-DB\mongodb-win32-i386-2.0.7\data17"
mongod --port 27018 --replSet rs0 --dbpath "D:\Mongo-DB\mongodb-win32-i386-2.0.7\data18"
mongod --port 27019 --replSet rs0 --dbpath "D:\Mongo-DB\mongodb-win32-i386-2.0.7\data19"
mongo localhost:27017
rs.initiate()
rs.add("hostname:27018")
rs.add("hostname:27019")
mongofiles -hlocalhost:27017 --db testmongo --collection files --type application/pdf put D:\Sherlock-Holmes.pdf
2) 탄성 검색 사이드 (설치된 플러그인 : 나는 다음을 수행 bigdesk/헤드/매퍼 - 첨부 파일/강 - MongoDB를)
을 -> 탄력 사용
: 검색 헤드 내가 다음 URL에 액세스하려고 지금URL : http://localhost:9200/_river/mongodb/
_meta/PUT
{
"type": "mongodb",
"mongodb": {
"db": "testmongo",
"collection": "fs.files",
"gridfs": true,
"contentType": "",
"content": "base64 /path/filename | perl -pe 's/\n/\\n/g'"
},
"index": {
"name": "testmongo",
"type": "files",
"content_type": "application/pdf"
}
}
"모든 요청"탭에서 다음과 같은 요청을 부여 내가 다음 URL을 사용하여이 PDF를 검색하려고했을 때
{
"_index" : "testmongo",
"_type" : "files",
"_id" : "508e82e21e43def09b5e1602",
"_version" : 1,
"exists" : true, "_source" : {"_id":"508e82e21e43def09b5e1602","filename":"D:\\Sherlock-Holmes.pdf","chunkSize":262144,"uploadDate":"2012-10-29T13:21:38.969Z","md5":"025fa2046f9254d2aecb9e52ae851065","length":98272,"contentType":"application/pdf"}
}
:하지만
http://localhost:9200/testmongo/files/508e82e21e43def09b5e1602?pretty=true
나는 (내가 예상대로 믿는) 응답을 다음있어
http://localhost:9200/testmongo/files/_search?q=Albers&pretty=true
를 그 다음 날 제공 결과 :
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}
여기 내게 어떤 히트가 아니라 단어 "Albers"가 t에 있음을 보여줍니다. 그의 pdf. 도와주세요. 미리 감사드립니다.
다른 파일의 텍스트를 가져 오기 위해 ES가 내부적으로 Apache TIKA를 사용하기 때문에 다른 첨부 파일 유형 텍스트 [pdf/doc 등]를 검색 할 때 ES를 사용할 수있는 문서를 읽었습니다. 귀하의 솔루션에서 우리는 어떻게 서로 다른 파일의 실제 텍스트로부터 속성을 만들 것입니까? – user1660340
나는 신축성있는 검색에만 약간의 노력을했지만 탄력적 인 검색 첨부물을 이해함에 따라 첨부물의 메타 데이터 만 인덱싱합니다. 그래서이 메타 데이터는'date','title','author','keywords'와 같은 검색을 위해 사용할 수 있어야합니다. 이 데이터는'my_attachment.author'와 같은 종류의 속성으로 액세스 할 수 있어야합니다 – sailingthoms