2009-12-03 11 views
9

SOLR検索に問題があります。私は検索クエリ:dog *すべてが大丈夫ですが、クエリがDog *(最初の大文字)の場合、結果は得られません。何かアドバイス?私の設定:SOLR - 大文字でのワイルドカード検索

<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
    </analyzer> 
</fieldType> 

答えて

10

別のリソースで回答を受け取りました。問題は:http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters "ワイルドカード とファジー検索では、テキストの解析は検索ワードに対して実行されません。

希望、これは誰かを助けるでしょう。

+0

よろしくお願いします。私は本当に立ち往生している。ワイルドカード検索を行う唯一の方法は "q.alt"ですか?もしそうなら、「q.alt」と強調表示を使用することは可能ですか?ワイルドカードで「q」だけ行うことができれば、それはどうですか? – andy

+1

ワットの目的のためにワイルドカードが必要ですか?私はラトビア語で検索する必要があるので、今私のSOLRのためにHunspellを形作っていますが、私の索引を制動する文法の法律はたくさんあります。 "あなたの手は結びついている"ため、文法を必要とするならば、別の方法について考えるよりも。 q.altは "あなたがメインクエリ(q)が指定されていない(または空白の)場合に使用される代替クエリ"なので、助けにならないでしょう。 "私はワイルドカードとテキスト分析であなたを助けることができるケースは何も見えません。 – Yurish

0

EdgeNGramを試しましたか?質問2413946への私の答えを見てください。

関連する問題