[
https://issues.apache.org/jira/browse/LUCENE-7148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15227537#comment-15227537
]
David Smiley commented on LUCENE-7148:
--------------------------------------
Ahment: A {{FunctionQuery}} matches all documents and returns a custom score.
Perhaps you mean something like Solr's {{frange}} that filters based on the
value? That would be O(docs) as it evaluates per doc. It's much preferable to
leverage the index.
An example of an existing query using the regexp technique is here by
[~sstults]:
https://github.com/sstults/TermSubsetParser/blob/master/src/main/java/com/o19s/solr/TermSubsetQParserPlugin.java
(a custom Solr QParser). Imagine making it configurable to take the
separator char and then working with the {{FingerPrintFilter}}. (as an aside,
I wish FPF was named something like "SortDedupeConcatFilter")
> Support boolean subset matching
> -------------------------------
>
> Key: LUCENE-7148
> URL: https://issues.apache.org/jira/browse/LUCENE-7148
> Project: Lucene - Core
> Issue Type: New Feature
> Components: core/search
> Affects Versions: 5.x
> Reporter: Otmar Caduff
> Labels: newbie
>
> In Lucene, I know of the possibility of Occur.SHOULD, Occur.MUST and the
> “minimum should match” setting on the boolean query.
> Now, when querying, I want to
> - (1) match the documents which either contain all the terms of the query
> (Occur.MUST for all terms would do that) or,
> - (2) if all terms for a given field of a document are a subset of the query
> terms, that document should match as well.
> Example:
> Document d hast field f with terms A, B, C
> Query with the following terms should match that document:
> A
> B
> A B
> A B C
> A B C D
> Query with the following terms should not match:
> D
> A B D
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]