0

This seems to be a common issue when deleting terms linked to indexed content via term/entity reference, but no solution has worked so far.

I am using the following:

  • Drupal 7
  • Solr 5.5.3
  • Search API 7.x-1.22
  • Field reference delete 7.x-1.0-beta1

The terms are linked via a term reference field on a node.

When the term is deleted, Field reference delete module informs Solr the referenced nodes need reindexing, which removes all articles containing the TID. This works fine. However after reindexing the term ID is still shown with (0) results on display instead of the term name.

Only deleting all indexed content and reindexing removes the facet as expected.

Before this, querying Solr for facets returns this:

{
  "response": {
    "numFound": 1139,
    "start": 0,
    "maxScore": 0.43971312,
    "docs": [
      {
        "item_id": "124618",
        "score": 0.43971312
      }
    ]
  },
  "facet_counts": {
    "facet_queries": {},
    "facet_fields": {
      "im_field_tax_tags": {
        "1107": 8,
        "1108": 212,
        "1109": 29,
        "1110": 619,
        "1111": 0,
        "1112": 61,
        "1114": 59,
        "1115": 105,
        "1117": 48,
        "1118": 35,
        "1119": 67,
        "1121": 120,
        "1124": 234,
        "1125": 15,
        "1127": 60,
        "1129": 6,
        "1133": 304,
        "1134": 59,
        "1214": 856,
        "1215": 317,
        "1216": 397,
        "1217": 819,
        "1219": 597,
        "1220": 6
      },
    },
    "facet_dates": {},
    "facet_ranges": {},
    "facet_intervals": {},
    "facet_heatmaps": {}
  }
}

Note 1111 has been deleted and has 0 results, yet still appears in Solr's list of facets. I presume this is cached somehow. Searching for im_field_tax_tags:1111 also returns 0 results.

It is also worth noting that the facet display has a Minimum facet count of 0, as the way they are displayed requires empty facets to be shown. I understand changing this to 1 would solve the problem (I suspect this is a more common configuration, which may explain why others have had more success), but it is unfortunately not an option.

Any help would be appreciated.

  • This sounds like indexing jobs are not running on cron. This is how the two stay in sync. – Kevin May 14 '18 at 13:12
  • Reindexing manually or via cron doesn't seem to help - they are definitely reindexed because the TID is removed from the articles in Solr, but the facets are still returned with 0 results. – J Huxley May 16 '18 at 19:36
0

To remove items with count 0, Optimize your core.

Go to the solr admin page, select the core you are working on, and click on "optimize" button.

enter image description here

0

Go to Solr Admin (usually http://localhost:8983/)

Go to Core Admin or your core selector and click Reload. When refreshed, you should see a green check mark on the "current" field. After this, your solr cache will be deleted and refreshed with new indexes.

  • Thanks, I've tried this but it doesn't seem to help. After reloading, running the query that Drupal uses to get the facets (via the Solr query UI) still returns the deleted TID. – J Huxley May 16 '18 at 19:42
  • For reference the query is: fl=item_id,score&fq=is_status:"1"&fq=ss_type:"story"&fq=index_id:"story_index"&fq=hash:fv8lih&start=0& rows=1&sort=ds_field_date_posted desc&facet=true&facet.sort=count&facet.limit=10&facet.mincount=1&facet.missing=false&facet.field{!ex=facet:field_tax_tags}im_field_tax_tags&f.im_field_tax_tags.facet.limit=50&f.im_field_tax_tags.facet.mincount=0&wt=json&json.nl=map – J Huxley May 16 '18 at 19:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.