2012-11-03 76 views
0

我有一個查詢,我正在嘗試處理,我搜索它但找不到任何答案,我做錯了什麼,我想要搜索的是%asd%,但我得到ASD%的結果,而不是它,mysql like%asd%solr查詢

我的字段類型是這樣的,

<fieldType name="text_general_edge_ngram" class="solr.TextField" positionIncrementGap="100"> 
     <analyzer type="index"> 
      <tokenizer class="solr.LowerCaseTokenizerFactory"/> 
      <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" side="front"/> 
     </analyzer> 
     <analyzer type="query"> 
      <tokenizer class="solr.LowerCaseTokenizerFactory"/> 
     </analyzer> 
    </fieldType> 

,我的查詢,名稱:ASD,難道是我的查詢或字段類型?謝謝:)

+0

「愛」的邊緣ngram將是「lo」,「lov」,「love」和「loved」,這使得它們對建議有用。我想你必須使用正常的ngrams – aitchnyu

回答

2

如果你想喜歡%asd%搜索,你不需要NGRAM過濾器...基本上Solr的使用~爲單個字符和*在他們的搜索多個字符...

name:asd~將匹配asda asdb asdc等而name:asd*將匹配asdasadad asdfgkhjfgkl等等,所以你可以使用name: ~asd~匹配basdfeasdkname:*asd*aldkaasdsdfsdoippopasdoppm

根據我所知,你不需要這種搜索的ngram

+0

幫助我很多謝謝你:) – user1794257