I'm not even sure where to post this, but I think it's due to Oracle. So!
We noticed that only some content was searchable.
- Digging into SEARCH_INDEX I was able to find keywords properly inserted, but if you typed them into the search box... nothing.
- Next, I checked SEARCH_DATASET and sure enough, all of the content that isn't searchable has references to the blobs table (I'm assuming: B^#XXX).
- Checking in BLOBS, there are no corresponding BLOBIDs matching what's listed in SEARCH_DATASET, because we enabled the "clear blobs table once a night" task packaged with the driver utils.
Can somebody offer some advice on how to solve this problem?
ETA: BLOB_COLUMN does not have SEARCH_DATASET listed...
Comments
Comment #0.0
Renee S commentedclarity
Comment #1
siromega commentedI have confirmed this. The search queries are looking in two places - the search keywords table (search_index) and the full-text table (search_dataset) for the keywords. However, if a node has more than 4000 chars, a blob placeholder ("B^#XXXXX") will be used, and those items wont show up in the output. This is a pretty big deal breaker - basically rendering any large text nodes invisible to the search engine.
A quick fix is to patch the search.extender.inc file - comment out lines 440,441 where it joins with the search_dataset table. Not quite sure how to fix this at the driver level (since we'd have to go pick out all the blobs and do a text search on them).
Comment #1.0
siromega commentedETA
Comment #2
bohartD7 reached its EOL back in January 2025, and there is no active release for D7 for this module anymore.
Development or support is not planned for D7. All D7-related issues are marked as outdated in a bunch.
Everyone can apply the patches/suggestions above (not tested by the maintainers, tested by the community) to their D7 projects.
If the issue remains relevant for D10+ versions, merge requests with proposed solutions for a new module version (D10+) are welcome in a new follow-up issue.
Thanks!