2016-07-04 11 views
0

私はsolrを初めて使い、xmlファイルを検索しているコアを作成しました。検索は正常に動作していますが、完全ではないようです。たとえば、インデックスされたファイルを検索します。 "U"を使用すると結果が得られます。検索文字列と一致するレコードがあっても結果は得られません。あなたは私にこの問題をチェックするためのヒントを教えてもらえますか?私の目では、schema.xmlとdata-config.xmlが正しく定義されているようです。Solrが不完全な検索結果を返す

事前にアドバイスをいただきありがとうございます。結果を返す必要があるとして、ジョニーU仲の良い友達という名前の誰かのためにあなたのクエリを

`<?xml version="1.0" encoding="UTF-8"?> 
<schema name="example" version="1.5"> 
    <uniqueKey>id</uniqueKey> 
    <fieldType name="date" class="solr.TrieDateField"    positionIncrementGap="0" precisionStep="0"/> 
    <fieldType name="int" class="solr.TrieIntField"  positionIncrementGap="0" precisionStep="0"/> 
    <fieldType name="long" class="solr.TrieLongField"  positionIncrementGap="0" precisionStep="0"/> 
    <fieldType name="string" class="solr.StrField" sortMissingLast="true"/> 
    <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    </fieldType> 
    <field name="_version_" type="long" indexed="true" stored="true"/> 
    <field name="idauftrunters" type="string" indexed="true" required="true" stored="true"/> 
    <field name="id" type="int" indexed="true" stored="true"/> 
    <field name="patientname" type="text" indexed="true" stored="true"/> 
</schema>` 

ザビーネ

+0

fieldTypeがフィールドに使用したものは何ですか?それが持っているトークンゾーダーとフィルターは何ですか? –

+0

Solr Adminの[Analysis]ページは、インデックス付きコンテンツとクエリ文字列との比較でどのように表示されますか? – MatsLindh

+0

検索対象の特定のフィールドとそのフィールドがschema.xmlでどのように分析されているかを知ることができます –

答えて

0

FIELDTYPEは、私はここのschema.xmlを添付した、 "テキスト" です。

Johnny U. Dawgという名前の人には、ClassicFilterFactoryまたはを追加して結果を返す必要があります。私が理解から

しかし、あなたはUこれはSOLRで簡単ではありません

を照会するときに表示する「ジェスUのGamez」したい、この機能に最も近いEdgeNGramFilterFactoryですが、あなたが期待するトークンとして最初の文字だけが必要です。

これを達成する方法の1つは、scriptTransformer(データの設定xml)を作成し、thisのように各文字に分割する名前を付けてJavascriptにすることです。 名前フィールド(ネームスペース)とは別のフィールドに保存し、この名前空間をcopyFieldを使ってテキストフィールドに追加します。

関連する問題