Solr 스키마를 설계하는 가장 좋은 방법은 무엇인지 이해하려고합니다. solrJ를 사용하여 덜 복잡한 방법으로 수행 할 가능성이있는 경우.
현재 solr의 예제 서버로 작업 중이므로 solr의 작동 방식을 이해할 수 있습니다. 내가 지금까지 제대로 이해한다면, 다음 스키마 정의하는 방법 :Solr 스키마에 처음으로 접근하는 방법
<fields>
<field name="name" type="string" indexed="true" stored="true" multiValued="false"/>
<field name="books" type="string" indexed="true" stored="false" multiValued="false"/>
<!-- books will contain: -->
<field name="title" type="string" indexed="true" stored="true" multiValued="true"/>
<field name="year" type="int" indexed="true" stored="true"/>
</fields>
<copyField source="title" dest="books"/>
<copyField source="year" dest="books"/>
내가 수정했다 :
Book= { title: String,
year: Int }
Author = { name: String,
books: [book] } <-- list/array of book objects
이 CopyFields를 사용하는 것입니다? 그렇다면 새로운 저자를 내 데이터베이스에 어떻게 업로드합니까? 은 내가 SOLR 클라이언트를 사용하여 내 Node.js를 서버를 형성 업로드하려고 :
function ADDONE(){
var docs = [];
//generate 4 docs.
for(var i = 0; i <= 4 ; i++){
var doc = {
id : 20 + i ,
name : "Author"+i ,
books: [{title: "firstBook" , year: 1900+i} ,
{title: "SecondBook" , year: 1901+i} ]
}
docs.push(doc);
}
// Add documents to Solr
client.add(docs,function(err,obj){
if(err){
console.log(err);
}else{
console.log(obj);
}
});
}
ADDONE();
하지만이 작동하지 않습니다. 각 문서를 정의하는 올바른 방법은 무엇입니까? 내가 가까이 있니? 내가 준 예제는 node.js solr-client로 작성되었지만 Java를 선호하고 solr Client (solrJ?)를 선호합니다. 나는 또한 싶습니다
는 계약이 책에 대한 쿼리가 년 1900 감사
1910 년에 형성 방법을 알고있다.
좋은 소식입니다. 몇 년간의 책을 소장 한 모든 저자에게 어떻게 쿼리를 사용했는지 모를 수 있습니까? 사용법을 이해할 수 있습니까? (어떤 일반적인 예든지 그것을 할 것입니다) – Roy
' ' 및 검색어 : 'select? q = book_year :"1910 "' –