【问题标题】:Solr - Add terms to a facetSolr - 向构面添加术语
【发布时间】:2015-10-21 14:47:30
【问题描述】:

如何在 solr 中向构面添加术语?我想通过术语和同义词列表来索引一些文档。

我有包含我希望能够使用的术语的文本文档 继续搜索。

例如,本文档包含以下术语:

干扰素、细胞因子、MEC

我希望这些术语(或者如果该术语是术语列表中某个术语的同义词,则首选术语 [不是同义词])显示在我正在索引的术语的方面列表中。

  1. J 干扰素细胞因子研究。 2015 年 9 月 25 日。[Epub 提前印刷]

高葡萄糖增加炎症细胞因子基因的表达 通过 H3K9 甲基转移酶机制作用于巨噬细胞。

李MF(1)、张R(1)、李TT(1)、陈美(1)、李LX(1)、卢JX(1)、贾 WP(1)。

作者信息:(1)内分泌代谢科, 上海交通大学附属第六人民医院, 上海市糖尿病研究所、上海市糖尿病临床中心、 上海市糖尿病重点实验室,上海市重点临床 中国上海代谢疾病中心。

最近的研究表明,组蛋白修饰是一种 调节炎症细胞因子基因表达的机制 高血糖情况。然而,尚不清楚组蛋白是如何 甲基化开始并参与炎症的变化 高糖(HG)条件下的细胞因子基因表达。我们的目标 目的是研究 H3K9 甲基化是否参与 HG 诱导的 炎性细胞因子在巨噬细胞中的表达。表达 THP-1 衍生的高血糖下的细胞因子基因谱 通过人细胞因子抗体阵列测定巨噬细胞。基于 来自人类细胞因子抗体阵列分析的结果, 4 个炎性细胞因子基因的 H3K9me3 水平,包括 白细胞介素 6 (IL-6)、IL-12p40、巨噬细胞炎症蛋白 1α (MIP-1α)和 HG 下的 MIP-1β 通过 ChIP 测定法确定。 此外,这 4 个炎性细胞因子基因的表达 在 HG 或毛壳素(SUV39H1 的抑制剂 甲基转移酶)暴露或过度表达 SUV39H1(a H3K9me3特异性甲基转移酶)通过定量分析 聚合酶链反应。在 HG 条件下培养的巨噬细胞 显示增加的基因表达和降低的H3K9me3水平 炎性细胞因子基因与培养的巨噬细胞相比 正常葡萄糖(NG)培养。用毛壳素抑制 SUV39H1 NG 处理的巨噬细胞也增加了 IL-6 的表达, IL-12p40、MIP-1α 和 MIP-1β。此外,抑制 SUV39H1 HG 处理的巨噬细胞中的毛壳素进一步增加了表达 这些炎症细胞因子。相反,NG处理的巨噬细胞 用 SUV39H1 质粒转染显示 炎性细胞因子。此外,SUV39H1 在 HG处理的巨噬细胞减轻了炎症的表达 HG 条件下的细胞因子。最后,HG 还增加了 小鼠骨髓来源炎症细胞因子的表达 巨噬细胞。我们的数据表明,HG 增加了 巨噬细胞中的炎性细胞因子通过减少 H3K9me3 水平,部分由 SUV39H1 介导。失调 表观遗传组蛋白修饰可能是潜在的原因之一 HG 诱导炎症细胞因子表达的机制 巨噬细胞。

PMID:26406561 [PubMed - 由出版商提供]

编辑:

我尝试了建议:

but only got this:
"id":"9cae6e2f-bd81-4c72-b2a8-fd8184af603d",
        "_version_":1515690847909183488},
      {
        "content":["The CHO airport is at 38.1384683,-78.4527887.\nSee also: http://www.lat-long.com/Latitude-Longitude-1480221-Virginia-Charlottesville_Albemarle_Airport.html"],
        "title":["Test1"],
        "id":"cdf82556-7545-4d81-a7a5-83bb4f14e4b7",
        "_version_":1515776762744668160}]
  },
  "facet_counts":{
    "facet_queries":{},
    "facet_fields":{
      "key_phrases":[]},
    "facet_dates":{},
    "facet_ranges":{},
    "facet_intervals":{},
    "facet_heatmaps":{}}}

这是我的查询

http://localhost:8983/solr/Cytokine/query?q=*:*&facet=on&facet.field=key_phrases

编辑2: 当我在 solr admin 中查看分析页面时,我可以看到它分解了空白过滤器和 shingle 过滤器中的数据,但在 keepword 过滤器中没有任何内容。

编辑 3:让它工作!这是我的架构:

<field name="key_phrases" type="key_phrases" indexed="true" stored="false" multiValued="true"/>
<fieldType name="key_phrases" class="solr.TextField" >
<analyzer>
<filter class="solr.ShingleFilterFactory"
            minShingleSize="2" maxShingleSize="3"
            outputUnigramsIfNoShingles="true"
    />
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.KeywordTokenizerFactory"/>
    <filter class="solr.KeepWordFilterFactory"
            words="keep_phrases.txt" ignoreCase="true"/>
  </analyzer>
</fieldType>
<copyField source="content" dest="key_phrases"/>

这是我的同义词:

cytokine, CXCL10, cxcl10, CYTOKINE IP 10 PROTEIN, INTERFERON-INDUCIBLE PROTEIN 10

这是我的口头禅:

endocrinology
cytokine
histone

PS:如果您发现复制字段不起作用,您需要删除solr/server/solr/[CORE NAME]/data 中的数据文件夹。然后重启就可以了。

【问题讨论】:

    标签: solr lucene


    【解决方案1】:

    这是自然语言处理领域 (NLP) 关注的问题之一,并且有大量库可以为大多数语言执行不同类型的 NLP。

    不过,有一些小技巧可以直接在 Solr 中执行以执行“poor man's entity extraction”。对于您的情况,文章中的第二个示例将是一个可能的解决方案:

    <field name="key_phrases" type="key_phrases" indexed="true" stored="false" multiValued="true"/>
    <copyField source="content" dest="key_phrases"/>
    <fieldType name="key_phrases" class="solr.TextField" sortMissingLast="true" omitNorms="true">
    <analyzer>
      <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.ShingleFilterFactory"
                minShingleSize="2" maxShingleSize="5"
                outputUnigramsIfNoShingles="true"
        />
        <filter class="solr.KeepWordFilterFactory"
                words="keep_phrases.txt" ignoreCase="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>
    

    .. 其中keep_phrases.txt 包含类似:

    airport 
    restaurant
    toy store
    

    (或干扰素、细胞因子、MEC 在您的情况下)。 maxShingleSize 应该与单个短语中的最大单词数一样大。

    对于处理同义词,使用常规同义词过滤器应该没问题。

    【讨论】:

    • 我试过了,好像不行,看看我的编辑。我尝试了示例中的内容和 keep_phrases.txt 机场餐厅玩具店
    • 您的key_phrases 字段中是否有任何内容?使用 Solr Admin 下的“分析”页面查看在索引时字段是如何处理的。您可能还想调整带状疱疹的大小。
    • 这很好用,甚至可以很好地使用同义词。我不知道为什么它给了我一个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多