2017-02-21 5 views
0

色の説明フィールドから色の同義語を使用してコピーしたフィールドを作成していますが、これは機能しています。私はこのxが格納されていても、選択句の未定義の名前x

/solr/my_keyspace.my_table/select?q=color_base:white 

ように私のコピーされたフィールドを使用して検索することができるよ。しかし、フィールドは、検索結果に表示されていないと私は、この

/solr/my_keyspace.my_table/select?q=color_base:white&fl=color_base 

Iのようなフィールドリストにフィールドを追加する場合エラーを取得

Undefined name color_base in selection clause 

ここに私のスキーマがある - 私は思っ保存された=「true」をトリックを行うが、それはありませんでしょう。私はフィールドcolor_baseを検索結果に表示したいだけです。

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<schema name="autoSolrSchema" version="1.5"> 
    <types> 
     <fieldType class="org.apache.solr.schema.TextField" name="ColorField"> 
      <analyzer> 
       <tokenizer class="solr.KeywordTokenizerFactory"/> 
       <filter class="solr.SynonymFilterFactory" ignoreCase="true" synonyms="color_synonyms.txt" tokenizerFactory="solr.KeywordTokenizerFactory"/> 
      </analyzer> 
     </fieldType> 
     <fieldType class="org.apache.solr.schema.StrField" name="StrField"/> 
    </types> 
    <fields> 
     <field indexed="true" multiValued="false" name="color_description" stored="true" type="StrField" docValues="true"/> 
     <field indexed="true" multiValued="true" name="color_base" stored="true" type="ColorField" docValues="true"/> 
     <copyField source="color_description" dest="color_base"/> 
    </fields> 
    <uniqueKey>(year, make, base_model)</uniqueKey> 
</schema> 

答えて

0

私は自分の目標だったアナライザーを使って検索結果を追加できないことを知りました。アナライザは検索機能を向上させるためのものですが、Solrによって結果を変更することはできません。私は基盤となるdb(Cassandra)に新しいフィールドを追加し、必要な値をマップする必要がありました。レッスンで学んだこと - Solrは、結果セットを変更/更新/追加するためではなく、検索のみを目的としています。

0

これはDSEの問題のようです。あなただけcolor_baseが返さ取得するには、あなたが返されるcolor_descriptionを尋ねることによって、正確に同じ結果を得ることができますしたい場合は、:

/solr/my_keyspace.my_table/select?q=color_base:white&fl=color_description 

color_descriptionとcolor_baseは、異なるタイプであっても、保存された値が送信され、元の値であり、分析後の結果ではなく、Solrにも同じデータを要求します。

EDIT:あなたのコメントについて...あなたが分析値にファセットことができる必要があります:

/select?q=your query&facet=true&facet.field=color_base 

しかし、私は今、この権利をテストすることはできません、私は私のDSEのスキーマ内の任意のcopyFieldを持っていません、試してみてください。

+0

これは私が見てきたことです - 私はアナライザの結果を取得しようとしていると思います。これは不可能ですか?検索結果に同義語が表示されるようにします。 –

+0

私の最終的な目標は、分析されたトークンをファセットすることです。これを行う方法はありますか? –

+0

@BrentonKlassenが私の答えを更新しました – Persimmonium

関連する問題