響應

2012-09-07 21 views
1

在Solr的多值PARAM,複製文檔使用過濾器的查詢我收到奇怪的問題只有在使用除了使用FQ PARAM在請求到Solr響應

curl '127.0.0.1:8080/solr/app/select?rows=0&start=0&q=app+AND+categoryId:20' 
<?xml version="1.0" encoding="UTF-8"?> 
<response> 
<lst name="responseHeader"><int name="status">0</int><int name="QTime">1</int> 
<lst name="params"><str name="start">0</str><str name="q">app AND categoryId:20</str> 
<str name="rows">0</str></lst></lst> 
<result name="response" numFound="42236" start="0"></result> 
</response> 

和第二請求

curl '127.0.0.1:8080/solr/app/select?rows=0&start=0&q=app+AND+categoryId:20&fq=categoryId:20' 
<?xml version="1.0" encoding="UTF-8"?> 
<response> 
<lst name="responseHeader"><int name="status">0</int><int name="QTime">1</int> 
<lst name="params"><str name="start">0</str><str name="q">app AND categoryId:20</str> 
<str name="fq">categoryId:20</str><str name="rows">0</str></lst></lst> 
<result name="response" numFound="69480" start="0"></result> 
</response> 

不同參數& fq = categoryId:20,但正如你所看到的,這個過濾器也存在於主查詢中,並且對結果沒有影響。

我檢查了響應,發現第一個請求中有很多重複項。

也tags顯示42236個文檔進行的categoryId = 20,

那麼,爲什麼查詢與& FQ =的categoryId:20返回,從而大量的(及複印件)文檔? P.S.所有其他類別的作品正確。方案的

部分:

<field name="id" type="int" indexed="true" stored="true" required="true"/> 
    <field name="title" type="text_general" indexed="true" stored="true" required="true"/> 
    <field name="description" type="text_general" indexed="true" stored="false" required="true"/> 
    <field name="categoryId" type="int" indexed="true" stored="false" required="true" multiValued="true"/> 
    <field name="tags" type="string" indexed="true" stored="false" required="false" multiValued="true"/> 
    <field name="type" type="int" indexed="true" stored="false" required="true"/> 

回答

2

可能是一個小平面緩存刪除記錄的問題。檢查SOLR-3793

+0

非常感謝,你說得對。看起來我需要等待主要發佈包含此修復的主要發佈。作爲臨時解決方案,通常「提交和優化」手動提供幫助 – iMysak