如何操作發送到Solr的查詢字符串?Solr:操作查詢字符串
例如,有人輸入「stackoverflow-version1.0」,但沒有找到結果。但是,如果查詢只是「stackoverflow」,搜索將會成功。 所以我想截斷「 - 」並再次搜索第一部分。
有些研究把我帶到solr.PatternReplaceCharFilterFactory類。我將它包含在我的schema.xml中。有沒有人看到,爲什麼我的查詢仍然沒有產生任何結果?我應該使用其他課程嗎?
UPDATE: 現在我的代碼看起來如下:
<fieldType name="ngram" class="solr.TextField" omitNorms="true">
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="20" />
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
splitOnNumerics="0"
generateNumberParts="0"
catenateWords="0"
catenateNumbers="0"
catenateAll="0"
preserveOriginal="1"
/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
generateNumberParts="0"
splitOnNumerics="0"
catenateWords="0"
catenateNumbers="0"
catenateAll="0"
preserveOriginal="1"
/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ASCIIFoldingFilterFactory"/>
</analyzer>
</fieldType>
你能否澄清,是失敗的查詢:'計算器 - version1.0'或'「計算器 - 1.0版」' – femtoRgon
它是不帶引號 – steph