Browse Source

remove duplicate filter from search index (#1172)

pull/1173/head
Jason Dove 3 years ago committed by GitHub
parent
commit
6db71f525d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 7
      ErsatzTV.Infrastructure/Search/SearchIndex.cs

1
CHANGELOG.md

@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Content will still be normalized according to the Channel and FFmpeg Profile settings - Content will still be normalized according to the Channel and FFmpeg Profile settings
- Streaming from disk is preferred, so every playback attempt will first check the local file system - Streaming from disk is preferred, so every playback attempt will first check the local file system
- Update Intel Media Driver in vaapi docker image - Update Intel Media Driver in vaapi docker image
- Search queries no longer remove duplicate results as this was causing incorrect behavior
## [0.7.4-beta] - 2023-02-12 ## [0.7.4-beta] - 2023-02-12
### Added ### Added

7
ErsatzTV.Infrastructure/Search/SearchIndex.cs

@ -207,9 +207,10 @@ public sealed class SearchIndex : ISearchIndex
: new CustomMultiFieldQueryParser(AppLuceneVersion, new[] { TitleField }, analyzerWrapper); : new CustomMultiFieldQueryParser(AppLuceneVersion, new[] { TitleField }, analyzerWrapper);
parser.AllowLeadingWildcard = true; parser.AllowLeadingWildcard = true;
Query query = ParseQuery(searchQuery, parser); Query query = ParseQuery(searchQuery, parser);
var filter = new DuplicateFilter(TitleAndYearField); // TODO: figure out if this is actually needed
// var filter = new DuplicateFilter(TitleAndYearField);
var sort = new Sort(new SortField(SortTitleField, SortFieldType.STRING)); var sort = new Sort(new SortField(SortTitleField, SortFieldType.STRING));
TopFieldDocs topDocs = searcher.Search(query, filter, hitsLimit, sort, true, true); TopFieldDocs topDocs = searcher.Search(query, null, hitsLimit, sort, true, true);
IEnumerable<ScoreDoc> selectedHits = topDocs.ScoreDocs.Skip(skip); IEnumerable<ScoreDoc> selectedHits = topDocs.ScoreDocs.Skip(skip);
if (limit > 0) if (limit > 0)
@ -223,7 +224,7 @@ public sealed class SearchIndex : ISearchIndex
if (limit > 0) if (limit > 0)
{ {
searchResult.PageMap = GetSearchPageMap(searcher, query, filter, sort, limit); searchResult.PageMap = GetSearchPageMap(searcher, query, null, sort, limit);
} }
return searchResult; return searchResult;

Loading…
Cancel
Save