私はこのようなSchemaXmlを持っているのApache Solrの3.5セットアップ持っている:私は必要があるだろう何Apache Solrで複合キーフィールドを作成するには?
<field name="appid" type="string" indexed="true" stored="true" required="true"/>
<field name="docid" type="string" indexed="true" stored="true" required="true"/>
は一緒にそれらを連結して<uniqueKey>
としてことを使用していますフィールドです。何も内蔵されていないようで、複数の値を持つid
フィールドを作成し、<copyField>
を使用するのには不十分ですが、uniqueKeyには単一値のフィールドが必要です。
私が必要とする唯一の理由は、クライアントが盲目的に<add>
の呼び出しを発し、追加または更新の場合にSolrを呼び出すことができるようにすることです。したがって、私はあまり気にしませんどのようにのIDのように見えます。
私は自分のアナライザーまたはトークナイザーを作成する必要があると思いますか?私はSolrの学習を始めていますので、実際に何が必要なのかを100%確信していないし、実装する必要があることについてのヒントもありがたいです。
java apiがdocsの追加や更新をどのように処理するのかよく分かりませんが、IDは見つかったら= docを更新し、そうでなければdocを挿入します。だから、私はIDが重要だと思います... – ajreal
@ajrealはい、それは、uniqueKeyが指定されている場合、Solrの動作です。私の一意のIDは2つの異なるIDで構成されているため、その複合IDをアプリケーション開発者から検索サーバーに適切に作成する負担を軽減したいと考えています。 –
@MichaelStum私のソリューションを試しましたか?あなたの考えを知ることができますか? – javanna