0

私の場合、インデックス作成は行われますが、テキスト検索では結果が得られません。*:*検索語として与えて一般的な索引付きデータを表示しています。

solrconfig.xml :

`<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
  <str name="config">data-config.xml</str>
</lst>
</requestHandler>`

schema.xml :

`<field name="su_id"  type="string" indexed="true" stored="true" required="true"/> 
  <field name="su_url" type="string" indexed="true" stored="true"/>
   <field name="su_path" type="string" indexed="true" stored="true"/>
   <field name="su_actual_url" type="string" indexed="true" stored="true"/>

   <uniqueKey>id</uniqueKey>
   <defaultSearchField>su_path</defaultSearchField>`

data-config.xml :

`<dataConfig>
  <dataSource type="JdbcDataSource" 
          driver="com.mysql.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/prod_astra" 
          user="root" 
          password="xyz"/>    

  <document name="content">
    <entity name="products" 
        query="select * from search_links">
        <field column="su_id" name="su_id" />
        <field column="su_path" name="id"/>
        <field column="su_url" name="su_url"/>
    <field column="su_actual_url" name="su_actual_url" />
    </entity>
</document>

`

どんな助けでも大歓迎です。

4

1 に答える 1

1

q=*:*すべてのドキュメントのすべてのコンテンツを検索するため、結果が返されます。

q=somethingデフォルトの検索フィールドで何かを検索します。schema.xml を変更していない場合、通常はテキストです。

<defaultSearchField>text</defaultSearchField>

デフォルトのフィールドを、検索するフィールドに変更できます。または、特定のフィールドを使用して特定のフィールドを検索します。例: su_url q=su_url:url

複数のフィールドを検索する場合は、copyfields を使用するか、 dismax request handlerを使用して、フィールドを 1 つのフィールドに結合できます。

于 2012-06-07T09:13:06.757 に答える