Solr DIH索引速度很快但搜索速度很慢

时间:2013-08-07 20:23:42

标签: solr dih

我有包含~30 GB数据的数据库表。我用DIH索引它。索引数据只需1小时15分钟,但搜索速度非常慢,大约需要1分钟,这似乎不对。如果有人遇到同样的问题,请提供帮助。

我正在证明文件的内容。

数据-config.xml中

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
               url="jdbc:mysql://Battrdbtest20/test_results"
              batchSize="-1"
              user="results" 
              password="resultsloader"/>
   <document>
    <entity name="Syndrome" 
        pk="test_file_result_id"
      query="SELECT * FROM Syndrome">  

        <Field column="test_file_result_id" name="test_file_result_id"/>
        <Field column="syndrome" name="syndrome"/>
    </entity>
  </document>
</dataConfig>

schema.xml(仅更改了适合我数据的字段)

 <fields>

     <field name="test_file_result_id" type="slong" indexed="true" stored="true" required="true" omitNorms="true" multivalued="false" />
     <field name="syndrome" type="string" indexed="true" stored="true" required="true" omitNorms="false" multivalued="false" />

 </fields>

 <uniqueKey>test_file_result_id</uniqueKey>

 <defaultSearchField>syndrome</defaultSearchField>

solrconfig.xml中没有更改

test_file_result_id是10位数的id。和校正字段存储包含大量数据的blob)日志文件内容类型。)

我想提一下,当我通过test_file_result_id进行搜索时,搜索结果会在一秒内出现,但对于综合症,需要一分多钟。

提前致谢!!

1 个答案:

答案 0 :(得分:0)

我假设stringsolr.StrField被定义为schema.xml

由于您拥有大量数据,因此使用具有正确tokenizers, analyzers and filters集的字段类型可能会很有用。

例如,添加StandardTokenizerFactory会将令牌保存到有意义的值集。

字段类型定义的一个示例:

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory" />
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
</fieldtype>

你可以尝试这样的事情,这应该会对响应时间产生影响。