Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fields to add for search index #618

Open
3 tasks done
sfisher opened this issue May 9, 2024 · 2 comments
Open
3 tasks done

Fields to add for search index #618

sfisher opened this issue May 9, 2024 · 2 comments
Assignees

Comments

@sfisher
Copy link
Contributor

sfisher commented May 9, 2024

The initial pass got most of the fields, but based on the search/filtering detailed code, I need to add the following fields:

  • linkIsBroken
  • hasIssues

This turns out to be somewhat icky since it seems like most thing in search are simply derived values/method return values from other objects.

hasIssues seems to have a method at identifier.computeHasIssues() (but it's on the Search class). linkIsBroken only has values in the search database table and seems to be set from link checker.

So it becomes tricky to set these values if we plan to get rid of the Search table in the future. Almost everything else in search is a derived value but these aren't.

Writing these items to OpenSearch directly:

  • but this has some problems since the idea is that a full search record could be regenerated easily at any time from data derived form the database.
  • So if they're updated independently and the full OpenSearch record is regenerated then it may clobber the value if it's not available.

Set these values elsewhere in the database (maybe identifier table?):

  • This has the advantage that these values can be derived like everything else.

  • Regenerating a search record at any time should have the correct value since everything is derived (which IMO, makes the most sense for search).

  • Deal with these non-derived values by either making them derived or adding some tricky code before any release.

@sfisher sfisher self-assigned this May 9, 2024
@sfisher
Copy link
Contributor Author

sfisher commented May 17, 2024

Jing suggested that we might be able to leave the ezidapp_searchidentifier in place but remove all the columns that are no longer needed (so just leave these flags, the ID and some other things).

I think this may be a good way forward and would minimize the amount of code we need to change.

@sfisher
Copy link
Contributor Author

sfisher commented May 28, 2024

Let's go with Jing's idea above and do some data cleanup after OpenSearch is released by cleaning up the table once working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant