2016-05-26 19 views
0

で単一のクエリに参加するには、次のSolrコレクションにクエリを実行することが可能ですノーマライズ応答はSolrの

のようなものが返されます
{ 
    "id":1, 
    "book_name":"Solr book", 
    "category":[1,2,3], 
    "author":[1] 
}, 
{ 
    "id":1, 
    "book_name":"Rocky", 
    "category":[3], 
    "author":[2] 
}, 
{ 
    "category_id": 1, 
    "category_name":"Technology" 
}, 
{ 
    "category_id": 2, 
    "category_name":"Apache Lucene" 
}, 
{ 
    "category_id": 3, 
    "category_name":"Sport" 
}, 
{ 
    "author_id": "1", 
    "author_name" "Chuck Norris" 
}, 
{ 
    "author_id": "1", 
    "author_name" "John Rambo" 
} 

:BOOK_NAMEで検索

{ 
    "id": 1, 
    "book_name": "Solr book", 
    "categories": ["Technology", "Apache Lucene"], 
    "Authors": ["Chuck Norris"] 
} 

をAND/OR category_name AND/ORの典型的なSearchbox入力の著者名ですか?私は何か似たようなものを返すでしょうか?

それ以外の方法は、これを達成するための推奨される回避策/ベストプラクティスですか?

...を使わずにFrontend Web App を実行して、Backend Web Appを使用して単一のクエリを実行して、レスポンスを構成したいと考えています。

+0

このタイプのデータは開発環境にあるのか、それとも実稼働環境にありますか? –

+0

開発環境です。しかし、私はすでにここで解決策を見つけましたhttp://wiki.apache.org/solr/DataImportHandler#Full_Import_Example –

+0

完了したことを正確に分かち合ったり、これを解決するのに役立ちますか? –

答えて

0

私がコレクションをアップ定住してきたやり方が間違っていた、私はそれをこのように行った:

<dataConfig> 
    <dataSource type="JdbcDataSource" 
      driver="com.mysql.jdbc.Driver" 
      url="jdbc:mysql://localhost:3306/circulo_lectores" 
      user="" 
      password="" /> 
    <document> 
     <entity name="book" query="SELECT * FROM book"> 

      <field column="id" name="id"/> 
      <field column="book" name="book" /> 

      <entity name="book_author" query="SELECT * FROM book_author WHERE book_id= ${book.id}">   
       <field column="author_id" name="author_id" /> 
       <entity name="author" query="select * FROM author WHERE id = ${book_author.author_id}"> 
        <field column="author_name" name="author_name" /> 
       </entity>     
      </entity> 

      <entity name="book_category" query="SELECT * FROM book_category WHERE book_id= ${book.id}">   
       <field column="category_id" name="category_id" /> 
       <entity name="category" query="select * FROM category WHERE id = ${book_category.category_id}"> 
        <field column="category_name" name="category_name" /> 
       </entity>     
      </entity>    

     </entity> 
    </document> 
</dataConfig> 

このreferenceは私に手掛かりを与えました。他の人に役立つことを願っています