2014-01-29 177 views
0

我用apache-solr(在linux環境下)安裝了一個mangetoSolr搜索和QueryParser

當我搜索關鍵字時,它顯示不相關的產品。

後來И找出solr正在添加一個查詢文本並用它搜索。

這裏是例子:
下面是我的Solr的結果XML的一部分,

<lst name="debug"> 
<str name="rawquerystring">bbb</str> 
<str name="querystring">bbb</str> 
<str name="parsedquery">text:PP text:bbb</str> 
<str name="parsedquery_toString">text:PP text:bbb</str> 

我以關鍵字 「BBB」 搜索。但在解析後的查詢中,solr添加了另一個查詢字符串,如「PP」。

所以這個返回的產品在描述中有「pp」。

如何防止這種自動生成查詢文本。

我希望你能清除我的問題。

+0

solr實例上配置的查詢解析器是什麼?您可以從solrconfig.xml中檢查該文件,並且應該在schema.xml中的字段定義中檢查它們的蹤跡。 –

回答

0

最有可能它是一個dismax/edismax分析器。查詢通過爲「文本」字段類型定義的分析鏈。你的'PP'與'bbb'有某種關係,因此查詢被擴展了。例如。它可以是詞幹變體,或同義詞等。 檢查您的schema.xml爲D_K建議。