1

使用事例

Solr で 2 つのドキュメントのインデックスが作成されたとします。フィールドの 1 つは - 以下のように desc_s (文字列) です。

Doc : Doc1

フィールド : desc_s

価値 : XYZ が ABC を 24 億ドルで買収


Doc : Doc2

フィールド : desc_s

価値 : DEF は 34 億ドルの住宅を売却

出力

必要なことは、ABC、XYZ、PQR などのエンティティを抽出し、desc_s から売買シグナルを識別して、それに対してタグを作成することです。

新しいフィールドが作成されました -タグ

タグ(Doc1 用) - ABC、XYZ (文字列)

タグ(Doc2 用) - DEF(文字列)

「シグナル」と呼ばれる別のフィールドを作成し、ファセットとして購入/販売を行います

Signal
  |
  Buys 
  |
  |___ABC
  |___XYZ
  Sells
  |
  |___DEF

何を試しましたか?

エンティティ ABC、XYZ、DEF タグの抽出用 - 正常に動作しています

次のアナライザー (schema.xml 内) を追加して、タグを識別し、それらを 1 つのフィールドに抽出しました。

<field name="tags" type="key_phrases" indexed="true" stored="false" multiValued="true"/>
<copyField source="desc_s" dest="key_phrases"/>
<fieldType name="key_phrases" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.KeepWordFilterFactory"
            words="tags.txt" ignoreCase="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

ここで、tags.txt にはすべてのエンティティ (ABC、DEF、PQR、XYZ など) が含まれており、アナライザーがタグ フィールドで目的のエンティティを検索して入力します。

エンティティ抽出のためにこれに従った

同じために購入/販売ファセットを構築する方法について、いくつかの提案/アプローチが必要です。今のところ、desc_s のテキストには買い/売りのみが含まれると考えることができます。

4

0 に答える 0