Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-14833

Empty highlight entry on match only for some queries

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 8.6.2
    • None
    • search
    • None

    Description

      Solr Input : Solr Input : 
      ```json{    "query": "text\"ما جرى بين الصحابة\" الماتريدي)",     "fields": "book_id,author_id,cat_id,meta,id,text",    "params":

      {"        rows": 20, "start": 0,         "hl": "true",        "hl.fl": "text_highlighting,text_highlighting_copy",        "hl.fragmenter": "regex",        "hl.q": "text_highlighting:(\"ما جرى بين الصحابة\" الماتريدي)",         "f.text_highlighting.hl.fragsize": 110,        "f.text_highlighting_copy.hl.fragsize": 0}

              }}```
      For exactly this text `"ما جرى بين الصحابة" الماتريدي` and some other queries the highlights have some empty matches.I checked if the indexes don"t have text stored in them but they seem to look like all other indexes.
      Here is an example of some part of the output of the highlighter:```"d3108d2d-1344-458c-8c28-0639f82b274e": {"text_highlighting": [" الصحابة \ufd43: إن من الأمور المهمة التي ينبغي للداعية أن يعرض عنها ولا يخوض فيها <em>ما</em> <em>جرى</em> <em>بين</em> <em>الصحابة</em> \ufd43، وما حصل لبعضهم"], "text_highlighting_copy": ["فاجهد علي جهدك! "، وقال \ufd41 في الدفاع عن عثمان حين سأل هذا الضال: "أما عثمان فكان الله قد عفا عنه وكرهتم أن تعفوا عنه، وأما عليّ فابن عمّ رسول الله ﷺ وختنه"، ثم أخذ يذكر من محاسن علي وعثمان \ufd44 حتى أفحم هذا الضال فذهب خائبا، وقال له ابن عمر \ufd41: "اذهب بهذا الآن معك"، قال العيني \ufd40: أي اقرن هذا العذر بالجواب حتى لا يبقى لك فيما أجبتك به حجة على ما كنت تعتقد" (1) فينبغي للداعية أن يدافع عن الصحابة \ufd43 وعن أئمة الهدى من علماء أهل السنة والجماعة، ولكن بالحكمة والموعظة الحسنة، والجدال بالحسنى.\nرابعا: من أساليب الدعوة: استخدام الشدة مع بعض المدعوين: الأصل في الأساليب في الدعوة إلى الله \ufdff الرفق واللين، ولكن من المدعوين من لا يجدي ولا ينفع فيه ومعه إلا الشدة والقوة؛ ولهذا استخدم عبد الله بن عمر \ufd41 أسلوب الشدة مع الرجل الضال الذي يطعن في علي وعثمان \ufd44، فقال: "أرغم الله بأنفك"، وقال \ufd41: "قاتلنا حتى لم تكن فتنة وكان الدين لله، وأنتم تريدون أن تقاتلوا حتى تكون فتنة ويكون الدين لغير الله"، وهذا فيه قوة في الأسلوب، ولكن لا يفعل ذلك إلا مع الأمن من الوقوع في المفاسد، والله المستعان (2).\nخامسا: أهمية الكف عما جرى بين الصحابة \ufd43: إن من الأمور المهمة التي ينبغي للداعية أن يعرض عنها ولا يخوض فيها <em>ما</em> <em>جرى</em> <em>بين</em> <em>الصحابة</em> \ufd43، وما حصل لبعضهم؛ لأن الكف عن ذلك مذهب أهل الحق والاعتدال (3)؛ ولهذا قال عبد الله بن عمر \ufd44 في هذا الحديث: "أما عثمان فكان الله قد عفا عنه فكرهتم أن تعفوا عنه، وأما عليّ فابن عمّ رسول الله ﷺ"، قال شيخ الإسلام ابن تيمية \ufd40 في مذهب أهل\n_________\n(1) عمدة القاري، شرح صحيح البخاري، 16/ 207.\n(2) انظر: الحديث رقم 116، الدرس العاشر.\n(3) انظر: شرح العقيدة الواسطية، لابن تيمية، تأليف محمد خليل الهراس، ص 250."]}, "1f36e221-2683-4bc7-9732-e6a64298f2df": {}}```
      I tried setting `hl.maxAnalyzedChars` to a large integer value and it still did not workOne thing I also know that when removing `"hl.q": "text_highlighting\"ما جرى بين الصحابة\" الماتريدي)", `  from the params it works.However it then does not highlight the stop words, which is not my desired behaviour.
      Here is the relevant part of my solr schema 
      ```xml<?xml version="1.0" encoding="UTF-8"?><schema name="turath-config" version="1.6">  <uniqueKey>id</uniqueKey>
        <fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100">    <analyzer> <!-- <charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/> --> <filter class="solr.SynonymGraphFilterFactory" tokenizerFactory="solr.StandardTokenizerFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />      <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterGraphFilterFactory"/> <filter class="solr.FlattenGraphFilterFactory"/> <filter class="solr.StopFilterFactory" words="lang/stopwords_ar.txt" ignoreCase="true"/>      <filter class="solr.KeywordRepeatFilterFactory" />      <filter class="solr.ArabicNormalizationFilterFactory"/>      <filter class="solr.ArabicStemFilterFactory"/>      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    </analyzer>  </fieldType>
        <fieldType name="text_ar_highlighting" class="solr.TextField" positionIncrementGap="100">    <analyzer> <!-- <charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/> --> <filter class="solr.SynonymGraphFilterFactory" tokenizerFactory="solr.StandardTokenizerFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />      <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterGraphFilterFactory"/> <filter class="solr.FlattenGraphFilterFactory"/>      <filter class="solr.KeywordRepeatFilterFactory" />      <filter class="solr.ArabicNormalizationFilterFactory"/>      <filter class="solr.ArabicStemFilterFactory"/>      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    </analyzer>  </fieldType>

      <fieldType name="text_ar_match" class="solr.TextField" positionIncrementGap="100">    <analyzer> <!-- <charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/> --> <filter class="solr.SynonymGraphFilterFactory" tokenizerFactory="solr.StandardTokenizerFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />      <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterGraphFilterFactory"/> <filter class="solr.FlattenGraphFilterFactory"/>      <filter class="solr.KeywordRepeatFilterFactory" />      <filter class="solr.ArabicNormalizationFilterFactory"/>      <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>    </analyzer>  </fieldType>
        <field name="text" type="text_ar" indexed="true" stored="true"/>  <field name="text_highlighting" type="text_ar_highlighting" indexed="true" stored="true"/> <field name="text_highlighting_copy" type="text_ar_highlighting" indexed="true" stored="true"/> <field name="text_match" type="text_ar_match" indexed="true" stored="true"/>  <field name="meta" type="string_large" indexed="false" stored="true"/>  <field name="book_id" type="pint" indexed="true" stored="true"/>  <field name="cat_id" type="pint" indexed="true" stored="true"/>  <field name="author_id" type="pint" indexed="true" stored="true"/>  <field name="death" type="pint" indexed="true" stored="true"/> <field name="page_index" type="pint" indexed="true" stored="true"/>  <field name="auto_numbered" type="boolean" indexed="true" stored="true"/></schema>
      ```

      Attachments

        1. Screen Shot 1442-01-17 at 3.56.16 AM.png
          346 kB
          Hossameldin Khalifa
        2. Screen Shot 1442-01-17 at 3.56.05 AM.png
          519 kB
          Hossameldin Khalifa
        3. Screen Shot 1442-01-17 at 3.55.53 AM.png
          266 kB
          Hossameldin Khalifa

        Activity

          People

            Unassigned Unassigned
            hoss3770 Hossameldin Khalifa
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: