Skip to content

Commit

Permalink
Remove query builder.
Browse files Browse the repository at this point in the history
  • Loading branch information
Viatorus committed Feb 16, 2018
1 parent 88629eb commit 6c6e843
Show file tree
Hide file tree
Showing 14 changed files with 864 additions and 1,489 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {FullTextSearch, Tokenizer, QueryBuilder} from "../../../full-text-search/src/index";
import {FullTextSearch, Tokenizer} from "../../../full-text-search/src/index";
import {Query} from "../../../full-text-search/src/query_types";

export interface LanguageTestData {
tokenizer: Tokenizer;
Expand All @@ -16,7 +17,7 @@ export interface LanguageTestData {
* @param {LanguageTestData} data - the language data
*/
export function createLanguageTest(language: string, data: LanguageTestData) {
let assertMatches = (searcher: any, query: any, docIds: number[] = []) => {
let assertMatches = (searcher: FullTextSearch, query: Query, docIds: number[] = []) => {
let res = searcher.search(query);
expect(Object.keys(res).length).toEqual(docIds.length);
for (let i = 0; i < docIds.length; i++) {
Expand Down Expand Up @@ -45,8 +46,7 @@ export function createLanguageTest(language: string, data: LanguageTestData) {
for (let i = 0; i < data.tests.length; i++) {
let test = data.tests[i];
it(test.what + " '" + test.search + "'", () => {
let query = new QueryBuilder().match("body", test.search).build();
assertMatches(fts, query, test.expected);
assertMatches(fts, {query: {type: "match", field: "body", value: test.search}}, test.expected);
});
}
});
Expand Down
23 changes: 11 additions & 12 deletions packages/full-text-search/spec/generic/full_text_search.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* global describe, ddescribe, it, expect */
import {Loki} from "../../../loki/src/loki";
import {QueryBuilder} from "../../src/query_builder";
import {FuzzyQuery, Query} from "../../src/query_types";
import {MemoryStorage} from "../../../memory-storage/src/memory_storage";
import {Collection} from "../../../loki/src/collection";
import {FullTextSearch} from "../../src/full_text_search";
Expand Down Expand Up @@ -31,13 +31,12 @@ describe("full-text search", () => {
});

it("usage", () => {
let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(coll.find({"$fts": query}).length).toBe(3);
});

it("chained", () => {
let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();

let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(
coll.find({"$fts": query})).not.toEqual(
coll.find({"id": {"$in": [1, 2, 3]}}));
Expand Down Expand Up @@ -67,7 +66,7 @@ describe("full-text search", () => {
return user;
});

let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(coll.find({"$fts": query}).length).toBe(2);
});

Expand All @@ -76,7 +75,7 @@ describe("full-text search", () => {
return user.name === "quak";
});

let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(coll.find({"$fts": query}).length).toBe(2);
});

Expand All @@ -90,15 +89,15 @@ describe("full-text search", () => {
{name: "abcdefg", id: 4},
]);

let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(coll.find({"$fts": query}).length).toBe(0);

query = new QueryBuilder().fuzzy("name", "abcde").fuzziness(1).build();
query = {query: {type: "fuzzy", field: "name", value: "abcde", fuzziness: 1}};
expect(coll.find({"$fts": query}).length).toBe(3);
});

it("sort", () => {
let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(2).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 2}};

expect(coll.chain().sortByScoring).toThrowAnyError();
expect(coll.chain().getScoring).toThrowAnyError();
Expand Down Expand Up @@ -137,7 +136,7 @@ describe("full-text search", () => {
});

it("explain", () => {
let query = new QueryBuilder().explain(true).fuzzy("name", "quak").fuzziness(2).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 2}, explain: true};
let res = coll.chain().find({"$fts": query});
expect(res.data().length).toBe(4);
expect(res.getScoring()[0].explanation).toBeArrayOfObjects();
Expand All @@ -162,7 +161,7 @@ describe("full-text search", () => {
return db2.loadDatabase();
}).then(() => {
const coll2 = db2.getCollection<User>("User");
let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(coll2.find({"$fts": query}).length).toBe(3);
done();
});
Expand Down Expand Up @@ -198,7 +197,7 @@ describe("full-text search", () => {
return db2.loadDatabase({fullTextSearch: {name: tkz}});
}).then(() => {
const coll2 = db2.getCollection<User>("User");
let query = new QueryBuilder().fuzzy("name", "quak").fuzziness(1).build();
let query: Query = {query: {type: "fuzzy", field: "name", value: "quak", fuzziness: 1}};
expect(coll2.find({"$fts": query}).length).toBe(3);
done();
});
Expand Down
205 changes: 0 additions & 205 deletions packages/full-text-search/spec/generic/query_builder.spec.ts

This file was deleted.

Loading

0 comments on commit 6c6e843

Please sign in to comment.