用例
假设 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 的文本中只有买入/卖出。