Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are other flags that can be added to the item to alter the way the index combo works:

Name

Type

Description

width

string

Sets the width of the input box. This should be a standard HTML width setting, for example "100%" would fill the whole toolbar, "250px" would be 250 pixels wide.

minScale

number

When the user chooses an

entity

result from the list the map will be zoomed to the extent of the chosen entity, this setting ensures that the map won't be zoomed in beyond the given scale.

pageSize

number

This value changes the number of items that will be presented to the user as the results of the search, for example "8" will tell the client to display the top 8 results for the search.

doSelect

boolean

The Weave client can be instructed to not update the current selection when the user chooses a

value

result from the list, this allows the index input box to be used as a simple find tool without actually interacting with the active selection. The default for this is true so selecting a result from the list will alter the current selection.

clearOthers

boolean

If

If doSelect is set

to true

not to false then when this flag is

also

set

to

to true it tells the Weave client that it should clear the selection for every other entity when the user chooses a

particular entity

result, if it is set

to

to false (or not set) then the client won't clear the selection for the other entities.

doMarker

boolean

If set

to

to true (the default) this flag tells the Weave client to display a marker at the center of the chosen entity, if set

to

to false then the client will not display a marker.

doGeometry

boolean

If set

to

to false (the default) this flag tells the Weave client not to display the geometry of the selected feature that the user chooses,

if

if true then the Weave client will display the geometry of the entity chosen. This is more useful if the drawing of selections is disabled in the ToC, otherwise the geometry will be drawn twice.

doMarkers

boolean

If set

to

to true (the default) this flag tells the client to display a marker for each item in the list once it completes the search, but before the user chooses a particular entity. If set

to

to false then no markers will be displayed (until the user chooses a particular entity if doMarker is set to true).

type

'wildcard', 'fuzzy' or 'exact'

Change the type of search that's performed, default is 'wildcard'. 'exact' performs the search using the search term, 'wildcard' appends an * to the end of the search term and 'fuzzy' appends a ~ to the end of the search term.

geometryFirstboolean
If

If true then geometry will be processed before the attributes.

If

If false, the default, the attributes will be processed before the geometry.

This may change the way an index works depending upon the relationship between the geometry and the attributes. If there is a one-to-one relationship between the geometry records and the attribute records then this setting will make no difference.

If this value is true then there will be one index entry for each record in the geometry source, regardless of how may attribute records map to the geometry (since only the first attribute match will be used). If this value is false then there will be one index entry for each record in the attribute source and the geometry information may be duplicated.

For example setting this value to false means that entities with multiple names can be found if any of the names are searched for, but if this value was set to true then only one name associated with an entity would be searchable.

Beyond these settings it is also possible to change the stroke and fill of the geometry (if doGeometry is true) by adding a 'geometryStyle' tag to the configuration. The geometryStyle tag can set the fill and/or stroke used to draw the entity geometry when it is drawn on the client, but it will not change the style when drawing the selection.

...

If fact the range expansion is more complex than that and can handle a wide range of different formats, including some of the following examples:

Original

Additional

12A

12

1/12

12

1/12A

12A 12 1/12

1A/12A

1/12A 12A 12 1/12

1A/12

1/12 12

10-14

10 14 11 12 13

1/10-14

10-14 10 14 11 12 13 1/10 1/14 1/11 1/12 1/13

1A/10-14

1/10-14 10-14 10 14 11 12 13 1/10 1/14 1/11 1/12 1/13 1A/10 1A/14 1A/11 1A/12 1A/13

Number range expansion is automatic and does not require any changes to the index definition to be enabled, which also means that at the moment it can't be disabled, but that may change in the future.

...

By adding a schedule tag you can indicate to Weave when the index can be rebuilt down to the millisecond, have it rebuilt at certain times each day or on certain days of the week (or a combination of these).

Schedule

Description

0 0 30 2

will run at 2:30am each day

0 0 30 2,14

will run at 2:30am and 2:30pm each day

0 0 30 2,8,14,20

will run at 2:30am, 8:30am, 2:30pm and 8:30pm each day

0 0 30 2 1

will run at 2:30am each Sunday

0 0 30 2 * 1

will run at 2:30am on the first of each month

0 0 30 2 * 1 2

will run at 2:30am on the first of February each year

0 0 30 2 5 * 2

will run at 2:30am on each Thursday of February each year

0 0 30 2 5 1 2

will run at 2:30am on each Thursday and on the first of February each year

0 0 15,45

will run every half hour at quarter past and quarter to

Note that since building the indexes can be CPU intensive you should stagger the rebuilding so that you don't try and rebuild more than once index at a time.

...

The indexing in Weave provides a number of commands that can be used at the OSGi prompt to work with the indexes.

Command

Parameters

Description

is

 

return a list of all indexes

ib

[<index>|<id>]

rebuild an index

ik

[<index>|<id>]

update keyword fields for an index

id

[<index>|<id>]

update display fields for an index

ig

[<index>|<id>]

update geometry field for an index

io

[<index>|<id>]

update sort field for an index

iu

[<index>|<id>]

unlock an index

ir

[<index>|<id>]

remove an index

it

"<search terms>"|id:<entityid> [<entity>|<index>] [<limit>]

test index

<> h1. substitute, [] = optional, | alternate

...