2012-08-04 91 views
2
<dataConfig> 
     <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver">   
     <document> 
       <entity name="MALE_PROFILES" 
       query="SELECT ID , COLUMN1 , COLUMN2,male FROM MALE_PROFILES " 
       transformer="RegexTransformer"> 
         <field name="id" column="ID"> 
       </entity> 
       <entity name="FEMALE_PROFILES" 
       query="SELECT ID , COLUMN1 , COLUMN2,female FROM FEMALE_PROFILES" 
       transformer="RegexTransformer"> 
         <field name="id" column="ID"> 
       </entity> 
     </document> 
</dataConfig> 

目前我的搜索是基於男性和女性,這應該是緩慢的。 我可以根據像MALE_PROFILE這樣的實體名稱進行搜索嗎?Solr搜索實體名稱

回答

2

它不會很慢,除非你有很多大量的索引大小的記錄。
對於基於實體的搜索,您可以向男性和女性配置文件添加標識符,並使用filter queries限制搜索的實體,該實體也將使用filter cache。 例如

如果添加了一個固定的列與你的男性和女性的實體,

SELECT ID,COLUMN1,COLUMN2,男,'MALE' AS PROFILE FROM MALE_PROFILES

您可以用FQ =文件應用過濾器:男

+0

但我想在這種情況下,它需要搜索方式更大的記錄。 我有6個這樣的索引,每個有10個lacs記錄 所以如果我猜測它更好地搜索10個lac記錄然後在60個lac記錄 – 2012-08-05 15:21:37

+0

60個lacs記錄的一個核心仍然可以正常工作。什麼是你的指數大小?我們在單個內核中有超過100萬條記錄,響應在毫秒內,但也取決於數據類型和配置。 – Jayendra 2012-08-06 08:40:49