Skip to content

Commit

Permalink
refactor: tex query in case for fuzzy and non fuzzy search
Browse files Browse the repository at this point in the history
  • Loading branch information
anjaliagg9791 committed May 26, 2023
1 parent 6f8629e commit 3343ab1
Showing 1 changed file with 13 additions and 22 deletions.
35 changes: 13 additions & 22 deletions internal/store/elasticsearch/discovery_search_repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,31 +154,22 @@ func (repo *DiscoveryRepository) buildSuggestQuery(cfg asset.SearchConfig) (io.R

func (repo *DiscoveryRepository) buildTextQuery(q *elastic.BoolQuery, cfg asset.SearchConfig) {
boostedFields := []string{"urn^10", "name^5"}

q.Should(
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...),
elastic.NewMultiMatchQuery(
cfg.Text,
boostedFields...,
).Type("phrase"),
// Phrase query cannot have `FUZZINESS`
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...).
Type("phrase"),
)
for _, mq := range []*elastic.MultiMatchQuery{
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...).
Operator("and"),
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...),
elastic.NewMultiMatchQuery(cfg.Text),
} {
if !cfg.Flags.DisableFuzzy {
mq.Fuzziness("AUTO")
}

if cfg.Flags.DisableFuzzy {
q.Should(
elastic.NewMultiMatchQuery(cfg.Text),
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...).
Operator("and"),
)
} else {
q.Should(
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...).
Fuzziness("AUTO"),
elastic.NewMultiMatchQuery(cfg.Text).
Fuzziness("AUTO"),
elastic.NewMultiMatchQuery(cfg.Text, boostedFields...).
Operator("and").
Fuzziness("AUTO"),
)
q.Should(mq)
}
}

Expand Down

0 comments on commit 3343ab1

Please sign in to comment.