Use path_hierarchy
tokenizer for attr paths (#584)
This commit is contained in:
parent
4bea45b150
commit
d04f341a5d
|
@ -65,7 +65,11 @@ lazy_static! {
|
||||||
},
|
},
|
||||||
"package_attr_name": {
|
"package_attr_name": {
|
||||||
"type": "keyword",
|
"type": "keyword",
|
||||||
"fields": {"edge": {"type": "text", "analyzer": "edge"}},
|
"fields": {
|
||||||
|
"edge": {"type": "text", "analyzer": "edge"},
|
||||||
|
"attr_path": {"type": "text", "analyzer": "attr_path"},
|
||||||
|
"attr_path_reverse": {"type": "text", "analyzer": "attr_path_reverse"}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"package_attr_set": {
|
"package_attr_set": {
|
||||||
"type": "keyword",
|
"type": "keyword",
|
||||||
|
@ -125,11 +129,11 @@ lazy_static! {
|
||||||
// Options fields
|
// Options fields
|
||||||
"option_name": {
|
"option_name": {
|
||||||
"type": "keyword",
|
"type": "keyword",
|
||||||
"fields": {"edge": {"type": "text", "analyzer": "edge"}},
|
"fields": {
|
||||||
},
|
"edge": {"type": "text", "analyzer": "edge"},
|
||||||
"option_name": {
|
"attr_path": {"type": "text", "analyzer": "attr_path"},
|
||||||
"type": "keyword",
|
"attr_path_reverse": {"type": "text", "analyzer": "attr_path_reverse"}
|
||||||
"fields": {"edge": {"type": "text", "analyzer": "edge"}},
|
},
|
||||||
},
|
},
|
||||||
"option_description": {
|
"option_description": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
@ -155,14 +159,26 @@ lazy_static! {
|
||||||
"token_chars": [
|
"token_chars": [
|
||||||
"letter",
|
"letter",
|
||||||
"digit",
|
"digit",
|
||||||
// Either we use them or we would need to strip them before that.
|
|
||||||
"punctuation",
|
"punctuation",
|
||||||
"symbol",
|
"custom",
|
||||||
],
|
],
|
||||||
|
// Exclude XML characters < and > from "symbol"
|
||||||
|
"custom_token_chars": "+=~",
|
||||||
|
},
|
||||||
|
"attr_path": {
|
||||||
|
"type": "path_hierarchy",
|
||||||
|
"delimiter": ".",
|
||||||
|
},
|
||||||
|
"attr_path_reverse": {
|
||||||
|
"type": "path_hierarchy",
|
||||||
|
"delimiter": ".",
|
||||||
|
"reverse": true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"analyzer": {
|
"analyzer": {
|
||||||
"edge": {"tokenizer": "edge", "filter": ["lowercase"]},
|
"edge": {"tokenizer": "edge", "filter": ["lowercase"]},
|
||||||
|
"attr_path": {"tokenizer": "attr_path", "filter": ["lowercase"]},
|
||||||
|
"attr_path_reverse": {"tokenizer": "attr_path_reverse", "filter": ["lowercase"]},
|
||||||
"lowercase": {
|
"lowercase": {
|
||||||
"type": "custom",
|
"type": "custom",
|
||||||
"tokenizer": "keyword",
|
"tokenizer": "keyword",
|
||||||
|
|
|
@ -96,6 +96,7 @@
|
||||||
];
|
];
|
||||||
extraPackages = [
|
extraPackages = [
|
||||||
pkgs.rustfmt
|
pkgs.rustfmt
|
||||||
|
pkgs.yarn
|
||||||
];
|
];
|
||||||
extraShellHook = ''
|
extraShellHook = ''
|
||||||
export RUST_SRC_PATH="${pkgs.rustPlatform.rustLibSrc}";
|
export RUST_SRC_PATH="${pkgs.rustPlatform.rustLibSrc}";
|
||||||
|
@ -115,6 +116,7 @@
|
||||||
|
|
||||||
devShells.frontend = mkDevShell {
|
devShells.frontend = mkDevShell {
|
||||||
inputsFrom = [packages.frontend] ;
|
inputsFrom = [packages.frontend] ;
|
||||||
|
extraPackages = [pkgs.rustfmt pkgs.yarn];
|
||||||
extraShellHook = ''
|
extraShellHook = ''
|
||||||
export PATH=$PWD/frontend/node_modules/.bin:$PATH
|
export PATH=$PWD/frontend/node_modules/.bin:$PATH
|
||||||
rm -rf frontend/node_modules
|
rm -rf frontend/node_modules
|
||||||
|
|
|
@ -1232,7 +1232,7 @@ searchFields query mainField fields =
|
||||||
let
|
let
|
||||||
allFields =
|
allFields =
|
||||||
fields
|
fields
|
||||||
|> List.map (\( field, score ) -> [ field ++ "^" ++ String.fromFloat score, field ++ ".edge^" ++ String.fromFloat score ])
|
|> List.map (\( field, score ) -> [ field ++ "^" ++ String.fromFloat score, field ++ ".*^" ++ String.fromFloat score ])
|
||||||
|> List.concat
|
|> List.concat
|
||||||
|
|
||||||
queryWords =
|
queryWords =
|
||||||
|
|
Loading…
Reference in a new issue