【问题标题】:Solr highlighting only works if query starts withSolr 突出显示仅在查询以
【发布时间】:2020-07-17 15:23:51
【问题描述】:

我想使用 Solr highlight 但我遇到了一些问题。当我发布此网址 http://localhost:8983/solr/pesquisa-jurisprudencia/select?fl=id,assunto&hl=on&q=insalubridade&wt=json&hl.fl=* 时,它不会返回任何突出显示的术语:

{
  "responseHeader":{
    "status":0,
    "QTime":167,
    "params":{
      "q":"insalubridade",
      "hl":"on",
      "fl":"id,assunto",
      "hl.fl":"*",
      "wt":"json"}},
  "response":{"numFound":8,"start":0,"docs":[
      {
        "id":"saj-4815412",
        "assunto":["Adicional de Insalubridade",
          "Assistência Judiciária Gratuita",
          "Aviso-prévio",
          "Décimo Terceiro Salário [Proporcional]",
          "Férias [Proporcionais]",
          "Fruição / Gozo",
          "Horas Extras",
          "Indenização / Dobra / Terço Constitucional",
          "Intervalo Intrajornada",
          "Levantamento / Liberação",
          "Multa [de 40%] do FGTS",
          "Reflexos",
          "Salário por Equiparação / Isonomia",
          "Saldo de Salário"]},
      {
        "id":"saj-4676226",
        "assunto":["Adicional de Insalubridade",
          "Assistência Judiciária Gratuita",
          "Aviso-prévio",
          "Décimo Terceiro Salário [Proporcional]",
          "Férias [Proporcionais]",
          "Fruição / Gozo",
          "Horas Extras",
          "Indenização / Dobra / Terço Constitucional",
          "Intervalo Intrajornada",
          "Levantamento / Liberação",
          "Multa [de 40%] do FGTS",
          "Reflexos",
          "Salário por Equiparação / Isonomia",
          "Saldo de Salário"]},
      {
        "id":"saj-661600"},
      {
        "id":"pje1-24544513",
        "assunto":["Saldo de Salário"]},
      {
        "id":"pje2-8188452",
        "assunto":["Adicional de Insalubridade",
          "Grupo Econômico"]},
      {
        "id":"pje2-10910741",
        "assunto":["Adicional de Insalubridade",
          "Grupo Econômico"]},
      {
        "id":"pje2-7109330",
        "assunto":["Adicional de Horas Extras"]},
      {
        "id":"pje1-6880206",
        "assunto":["Efeitos",
          "Integração em Verbas Rescisórias"]}]
  },
  "highlighting":{
    "saj-4815412":{},
    "saj-4676226":{},
    "saj-661600":{},
    "pje1-24544513":{},
    "pje2-8188452":{},
    "pje2-10910741":{},
    "pje2-7109330":{},
    "pje1-6880206":{}}}

虽然,当我通过发布此网址 http://localhost:8983/solr/pesquisa-jurisprudencia/select?fl=id,assunto&hl=on&q=adicional&wt=json&hl.fl=* 搜索“adicional”时,它可以工作。

{
  "responseHeader":{
    "status":0,
    "QTime":88,
    "params":{
      "q":"adicional",
      "hl":"on",
      "fl":"id,assunto",
      "hl.fl":"*",
      "wt":"json"}},
  "response":{"numFound":32,"start":0,"docs":[
      {
        "id":"saj-4815412",
        "assunto":["Adicional de Insalubridade",
          "Assistência Judiciária Gratuita",
          "Aviso-prévio",
          "Décimo Terceiro Salário [Proporcional]",
          "Férias [Proporcionais]",
          "Fruição / Gozo",
          "Horas Extras",
          "Indenização / Dobra / Terço Constitucional",
          "Intervalo Intrajornada",
          "Levantamento / Liberação",
          "Multa [de 40%] do FGTS",
          "Reflexos",
          "Salário por Equiparação / Isonomia",
          "Saldo de Salário"]},
      {
        "id":"pje1-14030983",
        "assunto":["Diferenças por Desvio de Função"]},
      {
        "id":"saj-4676226",
        "assunto":["Adicional de Insalubridade",
          "Assistência Judiciária Gratuita",
          "Aviso-prévio",
          "Décimo Terceiro Salário [Proporcional]",
          "Férias [Proporcionais]",
          "Fruição / Gozo",
          "Horas Extras",
          "Indenização / Dobra / Terço Constitucional",
          "Intervalo Intrajornada",
          "Levantamento / Liberação",
          "Multa [de 40%] do FGTS",
          "Reflexos",
          "Salário por Equiparação / Isonomia",
          "Saldo de Salário"]},
      {
        "id":"pje2-8188452",
        "assunto":["Adicional de Insalubridade",
          "Grupo Econômico"]},
      {
        "id":"saj-661600"},
      {
        "id":"pje1-13247674",
        "assunto":["Adicional de Hora Extra"]},
      {
        "id":"sap2-732470",
        "assunto":["Horas In Itinere",
          "Supressão de Horas Extras Habituais - Indenização"]},
      {
        "id":"pje1-24446947",
        "assunto":["Abono",
          "Abono Pecuniário",
          "Acordo Individual e/ou Coletivo de Trabalho",
          "Adicional",
          "Adicional de Hora Extra",
          "Adicional de Horas Extras",
          "Alteração da Jornada",
          "Aviso Prévio",
          "Base de Cálculo",
          "Cartão de Ponto",
          "Controle de Jornada",
          "Desconfiguração de Justa Causa",
          "Décimo Terceiro Salário",
          "Décimo Terceiro Salário Proporcional",
          "Efeitos",
          "FGTS",
          "Folha Individual de Presença",
          "Fruição / Gozo",
          "Férias / Gozo / Fruição",
          "Férias Proporcionais",
          "Indenizado - Efeitos",
          "Indenização",
          "Indenização / Dobra / Terço Constitucional",
          "Indenização Adicional",
          "Intervalo Intrajornada",
          "Levantamento de Valor",
          "Liberação / Entrega das Guias",
          "Multa de 40% do FGTS",
          "Multa do Artigo 467 da CLT",
          "Multa do Artigo 477 da CLT",
          "Reflexos",
          "Saldo de Salário",
          "Seguro Desemprego",
          "Termo de Rescisão Contratual",
          "Verbas Rescisórias",
          "Ônus da Prova"]},
      {
        "id":"pje1-35506695",
        "assunto":["Diferenças por Desvio de Função"]},
      {
        "id":"sap2-493296"}]
  },
  "highlighting":{
    "saj-4815412":{
      "assunto":["<em>Adicional</em> de Insalubridade"]},
    "pje1-14030983":{},
    "saj-4676226":{
      "assunto":["<em>Adicional</em> de Insalubridade"]},
    "pje2-8188452":{
      "assunto":["<em>Adicional</em> de Insalubridade"]},
    "saj-661600":{},
    "pje1-13247674":{
      "assunto":["<em>Adicional</em> de Hora Extra"]},
    "sap2-732470":{},
    "pje1-24446947":{
      "assunto":["<em>Adicional</em>"]},
    "pje1-35506695":{},
    "sap2-493296":{}}}

从现在开始我注意到的是,当字段以我正在搜索的词开头时,它会起作用。如果词条位于句子的中间,则不会返回任何突出显示。

为什么会这样。我该如何解决? 我正在使用 solr 8.5,而且,非常重要的是,我是 solr 初学者.... ;-)


所以,我又进行了一些测试,并对它们做了一些注释on this table。

如果您在我的第一次测试 (#1) 中进行检查,您会发现它有效。但只是因为我通过“q”参数的“assunto”字段缩小了查询范围。当我指定一般查询(未指定字段)时,它不起作用(检查测试#3)。 虽然,在测试#6 中,我搜索了字段开头的单词“adicional”并且它起作用了。 在测试 #4 中,我重复了测试 #3,但将方法更改为“统一”,但它也不起作用。 这似乎不是与方法有关的问题。

这是我的架构(出于空间目的,我删除了所有 cmets):

<?xml version="1.0" encoding="UTF-8" ?>
<!-- Definindo o próprio esquema
<schema name="example-DIH-db" version="1.6"-->
<schema name="sentencas" version="1.6">
  

   
   <field name="_version_" type="plong" indexed="true" stored="true"/>
   
   
   <field name="_root_" type="string" indexed="true" stored="false"/>

  
   <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
   
	
	<field name="id_documento" type="string" indexed="true" stored="true"/>
	<field name="id_processo" type="string" indexed="true" stored="true"/>
	<field name="num_processo" type="string" indexed="true" stored="true"/>
	<field name="ano_processo" type="string" indexed="true" stored="true"/>
	<field name="id_tipo_documento" type="string" indexed="true" stored="true"/>
	<field name="tipo_documento" type="string" indexed="true" stored="true"/>
	<field name="origem_dados" type="string" indexed="true" stored="true"/>
	<field name="sigla_classe_processual" type="string" indexed="true" stored="true"/>
	<field name="desc_classe_processual" type="string" indexed="false" stored="true"/>
	<field name="orgao_julgador" type="string" indexed="true" stored="true"/>
	<field name="juiz_sentenciante" type="string" indexed="true" stored="true"/>
	<field name="turma" type="string" indexed="true" stored="true"/>
	<field name="relator" type="string" indexed="true" stored="true"/>
	<field name="data_referencia" type="date" indexed="true" stored="true"/>
	<field name="nome_data_referencia" type="string" indexed="true" stored="true"/>
	<field name="data_assinatura" type="date" indexed="true" stored="true"/>
	<field name="data_publicacao" type="date" indexed="true" stored="true"/>
	<field name="ementa" type="text_trt18" indexed="true" stored="true" />
	<field name="texto_documento" type="text_trt18" indexed="true" stored="true" multiValued="true"/>
	<field name="assunto" type="text_pt" indexed="true" stored="true" multiValued="true" termVectors="true"/>
	<field name="parte" type="text_pt" indexed="true" stored="true"  multiValued="true" termVectors="true"/>
	<field name="link_andamentos" type="string" indexed="false" stored="true"/>
	<field name="link_visualizar_documento" type="string" indexed="false" stored="true"/>
	<field name="link_visualizar_acordao" type="string" indexed="false" stored="true"/>

  
   <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

  
   <field name="text_rev" type="text_general_rev" indexed="true" stored="false" multiValued="true"/>

  
	<uniqueKey>id</uniqueKey>

 

	<copyField source="num_processo" dest="text"/>
	<copyField source="ano_processo" dest="text"/>
	<copyField source="sigla_classe_processual" dest="text"/>
	<copyField source="orgao_julgador" dest="text"/>
	<copyField source="texto_documento" dest="text"/>
	<copyField source="assunto" dest="text"/>
	<copyField source="parte" dest="text"/>
	
	<fieldType name="text_trt18" class="solr.TextField" >
		<analyzer type="index">
			<tokenizer class="solr.StandardTokenizerFactory"/>
			<filter class="solr.LowerCaseFilterFactory"/>
			<filter class="solr.BrazilianStemFilterFactory"/>
			<filter class="solr.ASCIIFoldingFilterFactory"/>
			<filter class="solr.PorterStemFilterFactory"/>
			<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
			<charFilter class="solr.HTMLStripCharFilterFactory"/>
		</analyzer>
		<analyzer type="query">
			<tokenizer class="solr.StandardTokenizerFactory"/>
			<filter class="solr.LowerCaseFilterFactory"/>
			<filter class="solr.BrazilianStemFilterFactory"/>
			<filter class="solr.ASCIIFoldingFilterFactory"/>
			<filter class="solr.PorterStemFilterFactory"/>
			<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
			<charFilter class="solr.HTMLStripCharFilterFactory"/>
		</analyzer>
	</fieldType>


    <fieldType name="string" class="solr.StrField" sortMissingLast="true" />	
	
    <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>

    <!-- boolean type: "true" or "false" -->
    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>

   
    <fieldType name="pint" class="solr.IntPointField" docValues="true"/>
    <fieldType name="pfloat" class="solr.FloatPointField" docValues="true"/>
    <fieldType name="plong" class="solr.LongPointField" docValues="true"/>
    <fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/>
    
    <fieldType name="pints" class="solr.IntPointField" docValues="true" multiValued="true"/>
    <fieldType name="pfloats" class="solr.FloatPointField" docValues="true" multiValued="true"/>
    <fieldType name="plongs" class="solr.LongPointField" docValues="true" multiValued="true"/>
    <fieldType name="pdoubles" class="solr.DoublePointField" docValues="true" multiValued="true"/>

  
    <fieldType name="pdate" class="solr.DatePointField" docValues="true"/>
    <fieldType name="pdates" class="solr.DatePointField" docValues="true" multiValued="true"/>
    
  
    <fieldType name="binary" class="solr.BinaryField"/>

   
    <fieldType name="random" class="solr.RandomSortField" indexed="true" />

  
    <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
      </analyzer>
    </fieldType>

    
    <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
        <filter class="solr.FlattenGraphFilterFactory"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

  
    <fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
       
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
                />
        <filter class="solr.LowerCaseFilterFactory"/>
		<filter class="solr.EnglishPossessiveFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
  
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
                />
        <filter class="solr.LowerCaseFilterFactory"/>
		<filter class="solr.EnglishPossessiveFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
  
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
    </fieldType>

   
    <fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
      
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
                />
        <filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
        <filter class="solr.PorterStemFilterFactory"/>
        <filter class="solr.FlattenGraphFilterFactory" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
                />
        <filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
        <filter class="solr.PorterStemFilterFactory"/>
      </analyzer>
    </fieldType>

 
    <fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
        <filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
        <filter class="solr.EnglishMinimalStemFilterFactory"/>
        <!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
             possible with WordDelimiterGraphFilter in conjuncton with stemming. -->
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.FlattenGraphFilterFactory" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
        <filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
        <filter class="solr.EnglishMinimalStemFilterFactory"/>
      
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
      </analyzer>
    </fieldType>

  
    <fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
           maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>


    <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
      <analyzer>
      
        <tokenizer class="solr.KeywordTokenizerFactory"/>
     
        <filter class="solr.LowerCaseFilterFactory" />
    
        <filter class="solr.TrimFilterFactory" />
  
        <filter class="solr.PatternReplaceFilterFactory"
                pattern="([^a-z])" replacement="" replace="all"
        />
      </analyzer>
    </fieldType>
    
    <fieldType name="phonetic" stored="false" indexed="true" class="solr.TextField" >
      <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
      </analyzer>
    </fieldType>

    <fieldType name="payloads" stored="false" indexed="true" class="solr.TextField" >
      <analyzer>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
 
        <filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
      </analyzer>
    </fieldType>

    <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
      </analyzer>
    </fieldType>

    <fieldType name="descendent_path" class="solr.TextField">
      <analyzer type="index">
		<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
      </analyzer>
      <analyzer type="query">
		<tokenizer class="solr.KeywordTokenizerFactory" />
      </analyzer>
    </fieldType>
    <fieldType name="ancestor_path" class="solr.TextField">
      <analyzer type="index">
			<tokenizer class="solr.KeywordTokenizerFactory" />
      </analyzer>
      <analyzer type="query">
		<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
      </analyzer>
    </fieldType>

    <fieldType name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" />

    <fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>

    <fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
        geo="true" distErrPct="0.025" maxDistErr="0.001" distanceUnits="kilometers" />

    <!-- Portuguese -->
    <fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100">
      <analyzer> 
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_pt.txt" format="snowball" />
        <filter class="solr.PortugueseLightStemFilterFactory"/>
      </analyzer>
    </fieldType>
</schema>

【问题讨论】:

  • assunto 字段使用什么字段类型?
  • 嗨@AbhijitBashetti 这就是我的架构中指定“assunto”字段的方式:&lt;field name="assunto" type="text_pt" indexed="true" stored="true" multiValued="true" termVectors="true"/&gt;

标签: solr


【解决方案1】:

我使用的样本数据如下:

{
    "id":"saj-4815412",
    "assunto":"Adicional de Insalubridade"
},
{
    "id":"pje1-14030983",
    "assunto":"Diferenças por Desvio de Função"
},
{
    "id":"saj-4676226",
    "assunto":"Adicional de Insalubridade"
}

这是我执行的查询:

http://localhost:8983/solr/TestDemo3/select?fl=id_str,assunto&hl.fl=assunto&hl=on&q=assunto:insalubridade

这是输出:

第二个搜索网址是:

http://localhost:8983/solr/TestDemo3/select?fl=id_str,%20assunto&hl.fl=assunto&hl=on&q=assunto:adicional

高亮的输出是:

【讨论】:

  • 嘿阿比吉特。这与我得到的输出相同,对吧?我需要的是通过不指定 q 参数的字段进行查询。通过发布 q=insalubridade(url http://localhost:8983/solr/pesquisa-jurisprudencia/select?fl=id_documento%20assunto&amp;hl.fl=assunto&amp;hl=on&amp;q=insalubridade)而不是 q=assunto:insalubridade 查询并突出显示单词 Insalubridade。
  • 这很奇怪,因为如果我查询设置 q=adicional 输出会返回突出显示的所有单词 Adicional。相反,如果我查询设置参数 q=insalubridade 输出不会返回任何突出显示。
  • 但这就是我试图展示的……对于 q=insalubridade,它通过突出显示这些条款给了我结果
  • 您的默认搜索字段是什么...您定义了吗?
  • 理想情况下查询和高亮字段应该相同
【解决方案2】:

您使用的是默认的“原始”荧光笔吗?它在语言支持方面存在问题,因为它不提供 breakiterator 支持。也许您可以尝试使用统一的荧光笔一次,看看它是否有效,否则我需要您的架构进一步挖掘

【讨论】:

  • 嗨,Yatin,非常感谢您的关注。
  • 我开始回答却被打断了。对不起。我会编辑我的帖子。请检查更新。
【解决方案3】:

正如@abhijit-bashetti 所报告的,查询字段和突出显示字段应该相同,在我的情况下,我在我的默认字段(文本)处查询并尝试突出显示特定字段上的输出(assunto) .因此,为了解决我的问题,我创建了一个替代解决方案。我将一般查询复制到我的特定字段中,所以我的 q 参数就像q=insalubridade AND assunto:insalubridade。通过这样做,我可以突出显示输出。

不过,必须清楚的是,在相同的情况下,高亮输出是空白的,如下所示。

"highlighting":{
    "pje2-8188452":{
      "assunto":["Adicional de <mark>Insalubridade</mark>"]},
    "pje2-10910741":{
      "assunto":["Adicional de <mark>Insalubridade</mark>"]},
    "saj-4815412":{
      "assunto":["Adicional de <mark>Insalubridade</mark>"]},
    "saj-4676226":{
      "assunto":["Adicional de <mark>Insalubridade</mark>"]},
    "saj-661600":{},
    "pje1-24544513":{},
    "pje2-7109330":{},
    "pje1-6880206":{}}}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2011-11-02
    • 2013-08-30
    相关资源
    最近更新 更多