Сущность извлечения в Solr

Случай использования

Скажем, 2 документа были проиндексированы в Solr. И одно из полей - desc_s (строка), как показано ниже:

Док: Док1

Поле: desc_s

Стоимость: XYZ покупает ABC за 2,4 миллиарда долларов


Док: Док2

Поле: desc_s

Стоимость: DEF продает дом на 3,4 миллиарда долларов

Выход

Нам нужно извлечь объекты типа ABC,XYZ,PQR, а также идентифицировать сигнал покупки / продажи из desc_s и создать для него тег.

Новое поле создано - теги

теги(для Doc1) - ABC,XYZ (строка)

теги(для Doc2) - DEF(строка)

и создайте другое поле с именем "signal", которое будет иметь Buy/Sell как фасет

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..etc), где анализатор будет искать и заполнять нужные объекты в поле тегов.

Следовал за этим для извлечения сущности

Нужны некоторые предложения / подход о том, как построить фасет купить / продать для того же. На данный момент, мы можем считать, что у desc_s будут только покупки / продажи в их тексте.

0 ответов

Другие вопросы по тегам