If it's worth the effort to you, you could write a custom scorer that "somehow"
pulled these terms out and did what you require. I suppose some kind of
clever function query might work, but again probably custom.

Frankly, though, I wouldn't go there until I'd exhausted either my resources
or my user's patience.

In the worst case, you could break it up into N sub-queries and sort the results
in the app.

Best,
Erick

On Thu, Oct 19, 2017 at 6:59 AM, Webster Homer <webster.ho...@sial.com> wrote:
> Thank you, Erick.
>
> That is exactly what I thought. Indeed, we don't care about solr's scoring,
> as I said we do care about the order of the terms be maintained, hence the
> requirement for boosting the term values.
>
>
> On Wed, Oct 18, 2017 at 4:23 PM, Erick Erickson <erickerick...@gmail.com>
> wrote:
>
>> bq: Can I boost the Terms in the terms query
>>
>> I'm pretty sure you can't. But how many of these do you have? You can
>> always increase the maxBooleanClauses limit in solrconfig.xml. It's
>> primarily there to say "having this many clauses is usually a bad
>> idea, so proceed with caution". I've seen 10,000 and higher be used
>> before, you're really only limited by memory.
>>
>> And I'm going to guess that your application doesn't have a high query
>> rate, so you can likely make maxBooleanClauses be very high.
>>
>> Basically, the code that TermsQuerParser uses bypasses scoring on the
>> theory that these vary large OR clauses are usually useless for
>> scoring, your application is an outlier. But you knew that already ;)
>>
>>
>> Best,
>> Erick
>>
>> On Wed, Oct 18, 2017 at 9:42 AM, Webster Homer <webster.ho...@sial.com>
>> wrote:
>> > I have an application which currently uses a boolean query. The query
>> could
>> > have a large number of boolean terms. I know that the TermsQuery doesn't
>> > have the same limitations as the boolean query. However I need to
>> maintain
>> > the order of the original terms.
>> >
>> > The query terms from the boolean query are actually values returned by a
>> > chemical structure search, which are returned in order of their relevancy
>> > in the structure search. I maintain the order by giving them a boost
>> which
>> > is a function of the relevancy from the structure search.
>> >
>> > structure_id:(12345^800 OR 12356^750 OR abcde^600 ...
>> >
>> > This approach gives me the results in the order I need them in. I'd love
>> to
>> > use the TermsQuery instead as it doesn't have the same limitations.
>> >
>> > Can I boost the Terms in the terms query? Is there a way to order the
>> > results? e.g. would the results be returned in the same order I specified
>> > the terms?
>> >
>> > Thanks,
>> >
>> > --
>> >
>> >
>> > This message and any attachment are confidential and may be privileged or
>> > otherwise protected from disclosure. If you are not the intended
>> recipient,
>> > you must not copy this message or attachment or disclose the contents to
>> > any other person. If you have received this transmission in error, please
>> > notify the sender immediately and delete the message and any attachment
>> > from your system. Merck KGaA, Darmstadt, Germany and any of its
>> > subsidiaries do not accept liability for any omissions or errors in this
>> > message which may arise as a result of E-Mail-transmission or for damages
>> > resulting from any unauthorized changes of the content of this message
>> and
>> > any attachment thereto. Merck KGaA, Darmstadt, Germany and any of its
>> > subsidiaries do not guarantee that this message is free of viruses and
>> does
>> > not accept liability for any damages caused by any virus transmitted
>> > therewith.
>> >
>> > Click http://www.emdgroup.com/disclaimer to access the German, French,
>> > Spanish and Portuguese versions of this disclaimer.
>>
>
> --
>
>
> This message and any attachment are confidential and may be privileged or
> otherwise protected from disclosure. If you are not the intended recipient,
> you must not copy this message or attachment or disclose the contents to
> any other person. If you have received this transmission in error, please
> notify the sender immediately and delete the message and any attachment
> from your system. Merck KGaA, Darmstadt, Germany and any of its
> subsidiaries do not accept liability for any omissions or errors in this
> message which may arise as a result of E-Mail-transmission or for damages
> resulting from any unauthorized changes of the content of this message and
> any attachment thereto. Merck KGaA, Darmstadt, Germany and any of its
> subsidiaries do not guarantee that this message is free of viruses and does
> not accept liability for any damages caused by any virus transmitted
> therewith.
>
> Click http://www.emdgroup.com/disclaimer to access the German, French,
> Spanish and Portuguese versions of this disclaimer.

Reply via email to