我已經收錄從solr.xml和monitor.xml與Solr的產品包裝中附帶的數據,我增加了以下配置在Schema.xml文件Solr:PatternReplaceFilterFactory是否可以替換copyField的字段值並將其編入索引?
<field name="my_field" type="my_field_type" indexed="true" stored="true" required="false"/>
<copyField source="name" dest="my_field" />
<fieldType name="my_field_type" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern=".*" replacement="NameChanged" replace="all" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
它複製(名稱)字段( my_field)的fieldType(my_field_type)。在(my_field_type)中,我使用PatternReplaceFilterFactory試圖用字符串「NameChanged」替換所有內容。結果是它沒有將(名稱)字段和它的值複製到(my_field),但該值仍然保持不變。例如,下面返回的結果帶有(名稱)和(my_field)字段,這兩個值字段是相同的,它並沒有爲字段(my_field)的值更改爲「NameChanged」
<?xml version="1.0" encoding="UTF-8"?>
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="fl">id,name,my_field,</str>
<str name="indent">true</str>
<str name="q">*:*</str>
<str name="_">1380593840070</str>
<str name="wt">xml</str>
</lst>
</lst>
<result name="response" numFound="2" start="0">
<doc>
<str name="id">SOLR1000</str>
<str name="name">Solr, the Enterprise Search Server</str>
<str name="my_field">Solr, the Enterprise Search Server</str></doc>
<doc>
<str name="id">3007WFP</str>
<str name="name">Dell Widescreen UltraSharp 3007WFP</str>
<str name="my_field">Dell Widescreen UltraSharp 3007WFP</str></doc>
</result>
</response>
那麼,請問PatternReplaceFilterFactory能夠取代對copyField字段值,然後指數呢?如果是的話,我在上述配置中做錯了什麼?
謝謝。當我在my_field上做面時,它確實顯示了變化。當我搜索my_field:namedchanged但沒有找到任何東西時,你知道爲什麼嗎?我試圖複製一個字段,更改它的值並能夠搜索新的值。 –
在(Solr 4+)管理界面中,您有一個屏幕,您可以在左側和右側放置相同的短語,並相應地通過索引和查詢鏈。並顯示最終的令牌。這可以讓你瞭解你的連鎖配置的後果。例如。拼寫錯誤(就像你自己的例子'namechanged'和'namedchanged'一樣) –
非常感謝。我能再問你一些問題嗎?如果我在查詢中加入了bq = my_field:namechanged^100.00,它是否會提高my_field值中「namedchanged」文檔的分數?如果我在查詢中放入了20個bq參數,它是否會影響搜索性能? –