Apache Solr 4.10没有显示我在架构

时间:2015-08-09 02:50:12

标签: solr solr4

  • 我发现了Apache Solr。在我设置并将我的数据索引到Apache Solr之后。但是当我试图从Solr查询数据时。
  • 我发现schema.xml中列出的某些属性没有显示在结果搜索中。而且我不明白为什么它没有显示。

这是我的schema.xml

<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
  • ...

我不明白为什么,希望每个人都能为我解释。为什么这些字段没有显示在结果中。非常感谢你。

1 个答案:

答案 0 :(得分:0)

请与您的数据库交叉检查,并确保ID 3193的图片/相册列不为空。

SOLR不像我们的标准数据库那样基于记录,如果您已经使用该字段值索引了一个doc(此处为id 3193),它将只列出一个字段。

出于测试目的,手动添加此文档并确认是否为您列出?

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