2015-08-09 67 views
0
  • 我发现关于Apache Solr实现上市的一些属性。在我设置并索引我的数据到Apache Solr后。但是,当我试图从Solr查询数据。
  • 我发现我在schema.xml中列出的一些属性没有显示在结果搜索中。我不明白为什么它没有显示。

这是我schema.xmlApache Solr实现4.10并没有显示这是我在架构

<field name="_version_" type="long" indexed="true" stored="true"/> 
<field name="_root_" type="string" indexed="true" stored="false"/> 
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 

<field name="title" type="text_vi" indexed="true" stored="true"/> 
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/> 

<field name="type_music" type="text_vi" indexed="true" stored="true"/> 
<field name="format" type="string" indexed="true" stored="true"/> 
<field name="album" type="text_vi" indexed="true" stored="true" /> 
<field name="singer" type="text_vi" indexed="true" stored="true"/> 
<field name="artist" type="text_vi" indexed="true" stored="true"/> 
<field name="lyrics" type="text_vi" indexed="true" stored="true"/> 
<field name="url" type="text_general" indexed="true" stored="true"/> 
<field name="updated_at" type="date" indexed="true" stored="true"/> 
<field name="site_id" type="int" indexed="true" stored="true" /> 
<field name="rank" type="text_general" indexed="true" stored="true" /> 
<field name="country" type="text_vi" indexed="true" stored="true" /> 
<field name="url_original" type="string" indexed="true" stored="true" /> 
<field name="birthday_singer" type="date" indexed="true" stored="true" /> 
<field name="information" type="text_vi" indexed="true" stored="true"/> 
<field name="category_id" type="int" indexed="true" stored="true" /> 
<field name="image" type="text_vi" indexed="true" stored="true" /> 
<field name="quantity" type="string" indexed="true" stored="true" /> 
<field name="lsxanh" type="boolean" indexed="true" stored="true" /> 
<field name="nhachot" type="boolean" indexed="true" stored="true" /> 
<field name="music_top" type="boolean" indexed="true" stored="true" /> 

<field name="default_field" type="text_vi" indexed="true" stored="true" multiValued="true" /> 

这是文件data-config.xml

<entity name="musics" pk="id" 
query="select p.id, LCASE(p.title) as title, birthday_singer, p.type_music, LCASE(p.format) as format, p.album, LCASE(p.lyrics) as lyrics, LCASE(p.information) as information, LCASE(p.singer) as singer, p.artist, url, url_original, p.updated_at as updated_at, site_id, category_id, quantity, rank, country, image, lsxanh, nhachot, music_top from musics p order by updated_at desc;"> 
<field column="id" name="id" template="id"/> 
<field column="title" name="title"/> 
<field name="type_music" column="type_music" /> 
<field name="format" column="format" /> 
<field name="album" column="album" /> 
<field name="singer" column="singer" /> 
<field name="birthday_singer" column="birthday_singer" /> 
<field name="artist" column="artist" /> 
<field name="lyrics" column="lyrics" /> 
<field name="url" column="url" /> 
<field name="rank" column="rank" /> 
<field name="url_original" column="url_original" /> 
<field name="information" column="information" /> 
<field name="updated_at" column="updated_at" /> 
<field name="site_id" column="site_id" /> 
<field name="country" column="country" /> 
<field name="image" column="image" /> 
<field name="category_id" column="category_id" /> 
<field name="quantity" column="quantity" /> 
<field name="lsxanh" column="lsxanh" /> 
<field name="nhachot" column="nhachot" /> 
<field name="music_top" column="music_top" /> 

这是结果,我想查询数据库:

"response": { 
"numFound": 3193, 
"start": 0, 
"docs": [ 
    { 
    "singer": "đông nhi", 
    "default_field": [ 
     "đông nhi", 
     "vì ai vì anh-" 
    ], 
    "format": "mp3", 
    "title": "vì ai vì anh-", 
    "type_music": "music hot", 
    "url": "http://www.mysite.vn/Data_LSX/SONGS/5778/5794/Dong.mp3", 
    "updated_at": "2015-08-09T01:59:18Z", 
    "category_id": 0, 
    "site_id": 2, 
    "url_original": "http://www.mysite.vn/AlbumSongMovie.aspx?songid= 5794", 
    "id": "3193", 
    "nhachot": false, 
    "lsxanh": true, 
    "music_top": false, 
    "_version_": 1508992864222183400 
    } 

你可以看到,有一些域没有显示resuts如:

  • image
  • album
  • ...

我不明白为什么,希望大家能为我解释一下。为什么这些字段没有显示在结果中。非常感谢你。

回答

0

请交叉检查与您的数据库,并确保图片/相册列不为空的ID是不记录等基于我们的标准DB 3193

SOLR,它只是列出一个领域,如果你已经索引的文档(这里id为3193)与该字段值。

出于测试目的,手动添加此文档,并确认它列出了你没有?

<add> 
    <doc> 
     <field name="id">1234</field>  
     <field name="image">image value 1</field>    
    </doc> 
</add>