1

用例

假设 2 个文档已在 Solr 中建立索引。其中一个字段是 - desc_s(字符串),如下所示:

文件:Doc1

字段:desc_s

价值:XYZ 以 24 亿美元收购 ABC


文件:Doc2

字段:desc_s

价值:DEF 出售 34 亿美元的房子

输出

我们需要做的是提取 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..等),分析器将在其中查找并填充标签字段中的所需实体。

按照这个进行实体提取

需要一些关于如何建立购买/销售方面的建议/方法。现在,我们可以认为 desc_s 的文本中只有买入/卖出。

4

0 回答 0