Search Solr中的实体提取

Search Solr中的实体提取,search,indexing,solr,lucene,lucidworks,Search,Indexing,Solr,Lucene,Lucidworks,用例 假设2个文档已在Solr中编制索引。其中一个字段是-desc_s(字符串),如下所示: Doc:Doc1 字段:desc_s 价值:XYZ以24亿美元收购ABC Doc:Doc2 字段:desc_s 价值:DEF出售价值34亿美元的房屋 输出 我们需要做的是提取像ABC、XYZ、PQR这样的实体,并识别来自描述的买入/卖出信号,并针对其创建标记 新字段已创建-标记 标签(用于Doc1)-ABC、XYZ(字符串) 标签(用于Doc2)-定义(字符串) 并创建另一个名为“信号”的字段,该字段

用例

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

Doc:Doc1

字段:desc_s

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


Doc:Doc2

字段:desc_s

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

输出

我们需要做的是提取像ABC、XYZ、PQR这样的实体,并识别来自描述的买入/卖出信号,并针对其创建标记

新字段已创建-标记

标签(用于Doc1)-ABC、XYZ(字符串)

标签(用于Doc2)-定义(字符串)

并创建另一个名为“信号”的字段,该字段将以买入/卖出为方面

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>

用于实体提取

需要一些建议/方法,说明如何为同一产品构建买入/卖出方面。
现在,我们可以认为Delphi只会在他们的文本中购买/销售。

你想要什么样的小平面?显示一个示例pleaseSignal--buys--sells…..在buys中--它将有ABC和XYZ,另一个方面的sells将有DEF。。。我已经在我的文章的输出部分展示了这个例子。你想要什么样的方面?显示一个示例pleaseSignal--buys--sells…..在buys中--它将有ABC和XYZ,另一个方面的sells将有DEF。。。我已经在我的文章的输出部分展示了这个例子。。