fisharebest / webtrees

Online genealogy
https://webtrees.net
GNU General Public License v3.0
454 stars 298 forks source link

Fact Search #4284

Open miqrogroove opened 2 years ago

miqrogroove commented 2 years ago

I would like to search in webtrees for a specific city AND year, for any fact or event in the tree.

The only thing I could think of was the search page or the Place Hierarchy. If I go to the city I want in the Place Hierarchy and click to load the table, it shows hundreds of individuals and family. None of the filters seem to be year-based (other than birth and death only). If I go to the advanced search page, all of the fields seem to be far too specific, so I can't figure out how to get the same results for a city search in there.

Best results so far are using the calendar feature, set the year, then click "All" events, then find city in browser.

Am I doing this wrong? Or does webtrees lack a nice search option for place and time?

fisharebest commented 2 years ago

Or does webtrees lack a nice search option for place and time?

Our database structure was inherited from phpGedView, and does not contain such a table/index/structure.

We have links between individuals and places. For this data we would create four such links

1 BIRT
2 PLAC Westminster, London, England
1 DEAT
2 PLAC Mayfair, London, England
INDI -> England
INDI -> London
INDI -> Westminster
INDI -> Mayfair

Note that these indexes do not link to a specific fact - just to the record.

We also have links between individuals and dates. For this data, we would create three such links

1 OCCU farmer
2 DATE FROM 1900 TO 1910
1 OCCU soldier
2 DATE FROM 1910 TO 1920
INDI -> OCCU/1900
INDI -> OCCU/1910
INDI -> OCCU/1920

Again, note that these indexes don't link to a specific OCCU fact - just to the record.

Yes, we want and need better indexes. But changing them is hard - i.e. everyone would need to rebuild all their indexes, which involves re-importing every record in every tree.

miqrogroove commented 2 years ago

Is there any opportunity to do it without an index? For example, a in-browser place filter for the calendar... or a report that can show all events in one place?

fisharebest commented 2 years ago

Is there any opportunity to do it without an index

Of course - but this would involve loading/filtering a (potentially) very large number of records, which will exceed the memory/cpu limits for many users.