format TEXT NOT NULL REFERENCES config.xml_transform (name) DEFAULT 'mods33',
search_field BOOL NOT NULL DEFAULT TRUE,
facet_field BOOL NOT NULL DEFAULT FALSE,
- suggest_field BOOL NOT NULL DEFAULT TRUE,
- suggest_xpath TEXT,
+ browse_field BOOL NOT NULL DEFAULT TRUE,
+ browse_xpath TEXT,
facet_xpath TEXT
);
COMMENT ON TABLE config.metabib_field IS $$
field INT,
facet_field BOOL,
search_field BOOL,
- suggest_field BOOL,
+ browse_field BOOL,
source BIGINT,
value TEXT
);
xml_node TEXT;
xml_node_list TEXT[];
facet_text TEXT;
- suggest_text TEXT;
+ browse_text TEXT;
raw_text TEXT;
curr_text TEXT;
joiner TEXT := default_joiner; -- XXX will index defs supply a joiner?
raw_text := COALESCE(raw_text,'') || curr_text;
-- autosuggest/metabib.browse_entry
- IF idx.suggest_field THEN
+ IF idx.browse_field THEN
- IF idx.suggest_xpath IS NOT NULL AND idx.suggest_xpath <> '' THEN
- suggest_text := oils_xpath_string( idx.suggest_xpath, xml_node, joiner, ARRAY[ARRAY[xfrm.prefix, xfrm.namespace_uri]] );
+ IF idx.browse_xpath IS NOT NULL AND idx.browse_xpath <> '' THEN
+ browse_text := oils_xpath_string( idx.browse_xpath, xml_node, joiner, ARRAY[ARRAY[xfrm.prefix, xfrm.namespace_uri]] );
ELSE
- suggest_text := curr_text;
+ browse_text := curr_text;
END IF;
output_row.field_class = idx.field_class;
output_row.field = idx.id;
output_row.source = rid;
- output_row.value = BTRIM(REGEXP_REPLACE(suggest_text, E'\\s+', ' ', 'g'));
+ output_row.value = BTRIM(REGEXP_REPLACE(browse_text, E'\\s+', ' ', 'g'));
- output_row.suggest_field = TRUE;
+ output_row.browse_field = TRUE;
RETURN NEXT output_row;
- output_row.suggest_field = FALSE;
+ output_row.browse_field = FALSE;
END IF;
-- insert raw node text for faceting
VALUES (ind_data.field, ind_data.source, ind_data.value);
END IF;
- IF ind_data.suggest_field THEN
+ IF ind_data.browse_field THEN
SELECT INTO mbe_row * FROM metabib.browse_entry WHERE value = ind_data.value;
IF FOUND THEN
mbe_id := mbe_row.id;
source BIGINT REFERENCES biblio.record_entry (id)
);
-ALTER TABLE config.metabib_field ADD COLUMN suggest_field BOOLEAN DEFAULT TRUE NOT NULL;
-ALTER TABLE config.metabib_field ADD COLUMN suggest_xpath TEXT;
+ALTER TABLE config.metabib_field ADD COLUMN browse_field BOOLEAN DEFAULT TRUE NOT NULL;
+ALTER TABLE config.metabib_field ADD COLUMN browse_xpath TEXT;
CREATE OR REPLACE FUNCTION metabib.browse_normalize(facet_text TEXT, mapped_field INT) RETURNS TEXT AS $$
DECLARE
field INT,
facet_field BOOL,
search_field BOOL,
- suggest_field BOOL,
+ browse_field BOOL,
source BIGINT,
value TEXT
);
xml_node TEXT;
xml_node_list TEXT[];
facet_text TEXT;
- suggest_text TEXT;
+ browse_text TEXT;
raw_text TEXT;
curr_text TEXT;
joiner TEXT := default_joiner; -- XXX will index defs supply a joiner?
raw_text := COALESCE(raw_text,'') || curr_text;
-- autosuggest/metabib.browse_entry
- IF idx.suggest_field THEN
+ IF idx.browse_field THEN
- IF idx.suggest_xpath IS NOT NULL AND idx.suggest_xpath <> '' THEN
- suggest_text := oils_xpath_string( idx.suggest_xpath, xml_node, joiner, ARRAY[ARRAY[xfrm.prefix, xfrm.namespace_uri]] );
+ IF idx.browse_xpath IS NOT NULL AND idx.browse_xpath <> '' THEN
+ browse_text := oils_xpath_string( idx.browse_xpath, xml_node, joiner, ARRAY[ARRAY[xfrm.prefix, xfrm.namespace_uri]] );
ELSE
- suggest_text := curr_text;
+ browse_text := curr_text;
END IF;
output_row.field_class = idx.field_class;
output_row.field = idx.id;
output_row.source = rid;
- output_row.value = BTRIM(REGEXP_REPLACE(suggest_text, E'\\s+', ' ', 'g'));
+ output_row.value = BTRIM(REGEXP_REPLACE(browse_text, E'\\s+', ' ', 'g'));
- output_row.suggest_field = TRUE;
+ output_row.browse_field = TRUE;
RETURN NEXT output_row;
- output_row.suggest_field = FALSE;
+ output_row.browse_field = FALSE;
END IF;
-- insert raw node text for faceting
VALUES (ind_data.field, ind_data.source, ind_data.value);
END IF;
- IF ind_data.suggest_field THEN
+ IF ind_data.browse_field THEN
SELECT INTO mbe_row * FROM metabib.browse_entry WHERE value = ind_data.value;
IF FOUND THEN
mbe_id := mbe_row.id;