Skip to content

Commit

Permalink
Merge pull request #7671 from enonic/issue-7668
Browse files Browse the repository at this point in the history
Missing local-preference for search #7668
  • Loading branch information
GlennRicaud authored Nov 25, 2019
2 parents efcb29e + 4d5b506 commit 0c7ffdb
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.enonic.xp.query.highlight.constants.Fragmenter;
import com.enonic.xp.query.highlight.constants.Order;
import com.enonic.xp.query.highlight.constants.TagsSchema;
import com.enonic.xp.repo.impl.SearchPreference;
import com.enonic.xp.repo.impl.elasticsearch.query.ElasticHighlightQuery;
import com.enonic.xp.repo.impl.elasticsearch.query.ElasticsearchQuery;

Expand Down Expand Up @@ -50,6 +51,7 @@ public SearchRequestBuilder create()
setQuery( query.getQuery() ).
setPostFilter( query.getFilter() ).
setFrom( query.getFrom() ).
setPreference( SearchPreference.LOCAL.getName() ).
setSize( resolvedSize );

query.getSortBuilders().forEach( searchRequestBuilder::addSort );
Expand All @@ -74,7 +76,6 @@ private SearchRequestBuilder setHighlightSettings( final SearchRequestBuilder bu
{
highlight.getFields().forEach( builder::addHighlightedField );


final Encoder encoder = highlight.getEncoder();
final TagsSchema tagsSchema = highlight.getTagsSchema();
final Fragmenter fragmenter = highlight.getFragmenter();
Expand All @@ -87,34 +88,44 @@ private SearchRequestBuilder setHighlightSettings( final SearchRequestBuilder bu
final Boolean requireFieldMatch = highlight.getRequireFieldMatch();

builder.setHighlighterType( HIGHLIGHTER_TYPE );
if (encoder != null) {
if ( encoder != null )
{
builder.setHighlighterEncoder( encoder.value() );
}
if (fragmenter != null) {
if ( fragmenter != null )
{
builder.setHighlighterFragmenter( fragmenter.value() );
}
if (fragmentSize != null) {
if ( fragmentSize != null )
{
builder.setHighlighterFragmentSize( fragmentSize );
}
if (noMatchSize != null) {
if ( noMatchSize != null )
{
builder.setHighlighterNoMatchSize( noMatchSize );
}
if (numOfFragments != null) {
if ( numOfFragments != null )
{
builder.setHighlighterNumOfFragments( numOfFragments );
}
if (order != null) {
if ( order != null )
{
builder.setHighlighterOrder( order.value() );
}
if (preTags != null && !preTags.isEmpty()) {
builder.setHighlighterPreTags( preTags.toArray( new String[preTags.size()] ));
if ( preTags != null && !preTags.isEmpty() )
{
builder.setHighlighterPreTags( preTags.toArray( new String[preTags.size()] ) );
}
if (postTags != null && !postTags.isEmpty()) {
builder.setHighlighterPostTags( postTags.toArray( new String[postTags.size()]) );
if ( postTags != null && !postTags.isEmpty() )
{
builder.setHighlighterPostTags( postTags.toArray( new String[postTags.size()] ) );
}
if (requireFieldMatch != null) {
if ( requireFieldMatch != null )
{
builder.setHighlighterRequireFieldMatch( requireFieldMatch );
}
if (tagsSchema != null) {
if ( tagsSchema != null )
{
builder.setHighlighterTagsSchema( tagsSchema.value() );
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

import com.google.common.collect.ImmutableSet;

import com.enonic.xp.repo.impl.SearchPreference;
import com.enonic.xp.repo.impl.elasticsearch.query.ElasticsearchQuery;
import com.enonic.xp.repo.impl.elasticsearch.result.SearchResultFactory;
import com.enonic.xp.repo.impl.search.result.SearchResult;
Expand Down Expand Up @@ -88,6 +89,7 @@ SearchRequestBuilder createScrollRequest( final ElasticsearchQuery query )
setPostFilter( query.getFilter() ).
setFrom( query.getFrom() ).
setSize( query.getBatchSize() ).
setPreference( SearchPreference.LOCAL.getName() ).
addFields( query.getReturnFields().getReturnFieldNames() );

query.getSortBuilders().forEach( searchRequestBuilder::addSort );
Expand Down

0 comments on commit 0c7ffdb

Please sign in to comment.