簡體   English   中英

SOLR-MYSQL-查詢結果

[英]SOLR - MYSQL - Query results

我正在使用SOLR和MySQL。

這是我的data-config.xml

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost/meishidb" 
              user="root" 
              password="root"/>
  <document>
    <entity name="id"
            query="SELECT 
                       p.id, 
                       p.occ_name
                   FROM 
                       BCARDS_OCCUPATION AS p">
            <field column="id" name='id'/>
            <field column="occ_name" name='occ_name'/>
    </entity>
  </document>
</dataConfig>

這些是添加到schema.xml的行

<field name="id" type="int" indexed="true" stored="true" required="true"/>
<field name="occ_name" type="text" indexed="true" stored="true" required="true"/>

該查詢運行良好,SOLR在索引中添加了“ n”個文檔。 問題在於查詢索引。 僅當我鍵入'*:*'且僅關於文檔ID(而不是occ_name )時,SOLR才會給我結果!

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">1</int>
<lst name="params">
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">*:*</str>
<str name="version">2.2</str>
<str name="rows">10</str>
</lst>
</lst>
<result name="response" numFound="5" start="0">
<doc>
<str name="id">1</str>
</doc>
<doc>
<str name="id">2</str>
</doc>
<doc>
<str name="id">3</str>
</doc>
<doc>
<str name="id">4</str>
</doc>
<doc>
<str name="id">5</str>
</doc>
</result>
</response>

如果我搜索:

id:1給了我id = 1的文檔

occ_name:1給我'未定義的字段occ_name'

為什么?

我不知道您是否在架構中創建了fieldType text ,但是默認架構中沒有這樣的fieldType。

嘗試在occ_name字段定義中使用type="text_en"

順便說一句(我總是建議同樣的事情),使用有史以來最強大的Lucene工具(稱為Luke )來檢查索引中的真正內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM