boost可以应用于Lucene字段吗?

cyvaqqii  于 2022-11-07  发布在  Lucene
关注(0)|答案(1)|浏览(195)

collection.xconf中给定Lucene索引配置

<collection xmlns="http://exist-db.org/collection-config/1.0">
  <index xmlns:tei="http://www.tei-c.org/ns/1.0"
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <fulltext default="none" attributes="false"/>
    <lucene>
      <analyzer class="org.apache.lucene.analysis.en.EnglishAnalyzer" id="en"/>
      <analyzer class="org.apache.lucene.analysis.fr.FrenchAnalyzer" id="fr"/>

      <text qname="tei:title" index="no">
        <field analyzer="en" name="en" if="ancestor-or-self::*/@xml:lang='en'" />
        <field analyzer="fr" name="fr" if="ancestor-or-self::*/@xml:lang='fr'" />
      </text>
      <text qname="tei:div" index="no">
        <field analyzer="en" name="en" if="ancestor-or-self::*/@xml:lang='en'" />
        <field analyzer="fr" name="fr" if="ancestor-or-self::*/@xml:lang='fr'" />
      </text>
    </lucene>
  </index>
</collection>

如何提高tei:title元素的命中率?
我试过了

<text qname="tei:title" index="no" boost="2">
        <field analyzer="en" name="en" if="ancestor-or-self::*/@xml:lang='en'" />
        <field analyzer="fr" name="fr" if="ancestor-or-self::*/@xml:lang='fr'" />
      </text>

且还

<text qname="tei:title" index="no">
        <field boost="2" analyzer="en" name="en" if="ancestor-or-self::*/@xml:lang='en'" />
        <field boost="2" analyzer="fr" name="fr" if="ancestor-or-self::*/@xml:lang='fr'" />
      </text>

但是,虽然前者只是被忽视,由于事实上,只有字段的索引,后者甚至没有出现是有效的。

baubqpgj

baubqpgj1#

事实证明,这是不可能的,但可能会在未来添加。
以下是跟踪进度的功能请求:https://github.com/eXist-db/exist/issues/3874

相关问题