1

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

我正在证明文件的内容。

数据配置.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 搜索时,搜索结果会在一秒钟内出现,但对于综合症,需要一分钟以上。

提前致谢!!

4

1 回答 1

0

我假设这stringsolr.StrField在你的schema.xml.

Since you are having a blob of data, it would possibly be useful to use a field type that has the right set of tokenizers, analyzers and filters.

For example, adding a StandardTokenizerFactory keeps tokens to a meaningful value set.

An example of the fieldtype definition:

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

You could try something like this and that should make a difference to the response time.

于 2013-08-08T01:12:55.610 回答