You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Chris M. Hostetter (Jira)" <ji...@apache.org> on 2022/06/27 16:09:00 UTC

[jira] [Commented] (LUCENE-10571) Monitor alternative "TermFilter" Presearcher for sparse filter fields

    [ https://issues.apache.org/jira/browse/LUCENE-10571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17559248#comment-17559248 ] 

Chris M. Hostetter commented on LUCENE-10571:
---------------------------------------------

/ping [~romseygeek] ... curious if you have any thoughts on this?

> Monitor alternative "TermFilter" Presearcher for sparse filter fields
> ---------------------------------------------------------------------
>
>                 Key: LUCENE-10571
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10571
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/monitor
>            Reporter: Chris M. Hostetter
>            Priority: Major
>         Attachments: LUCENE-10571.patch
>
>
> One of the things that surprised me the most when looking into how the {{TermFilteredPresearcher}} worked was what happens when Queries and/or Documents do _NOT_  have a value in a configured filter field.
> per the javadocs...
> {quote}Filtering by additional fields can be configured by passing a set of field names. Documents that contain values in those fields will only be checked against \{@link MonitorQuery} instances that have the same fieldname-value mapping in their metadata.
> {quote}
> ...which is straightforward and useful in the tested example where every registered Query has {{"language"}} metadata, and every Document has a {{"language"}} field, but gives unintuitive results when a Query or Document does *NOT* have a {{"language"}}
> A more "intuitive" & useful (in my opinions) implementation would be something that could be documented as ...
> {quote}Filtering by additional fields can be configured by passing a set of field names. Documents that contain values in those fields will only be checked against \{@link MonitorQuery} instances
> that have the same fieldname-value mapping in their metadata <em>or have no mapping for that fieldname</em>.
> Documents that do not contain values in those fields will only be checked against \{@link MonitorQuery} instances that also have no mapping for that fieldname.
> {quote}
> ...ie: instead of being a straight "filter candidate queries by what we find in the filter fields in the documents" we can instead "derive the queries that are viable candidates for each document if we were restricting the set of documents by those values during a "forward search"



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org