questions - Question:custom query syntax for querying its indexes?

Keyword matching

Search for word "foo" in the title field.

Search for phrase "foo bar" in the title field.
title:"foo bar"

Search for phrase "foo bar" in the title field AND the phrase "quick fox" in the body field.
title:"foo bar" AND body:"quick fox"

Search for either the phrase "foo bar" in the title field AND the phrase "quick fox" in the body field, or the word "fox" in the title field.
(title:"foo bar" AND body:"quick fox") OR title:fox

Search for word "foo" and not "bar" in the title field.
title:foo -title:bar
Wildcard matching

Search for any word that starts with "foo" in the title field.

Search for any word that starts with "foo" and ends with bar in the title field.

Note that Lucene doesn't support using a * symbol as the first character of a search.
Proximity matching

Lucene supports finding words are a within a specific distance away.

Search for "foo bar" within 4 words from each other.
"foo bar"~4

Note that for proximity searches, exact matches are proximity zero, and word transpositions (bar foo) are proximity 1.

A query such as "foo bar"~10000000 is an interesting alternative to foo AND bar.

Whilst both queries are effectively equivalent with respect to the documents that are returned, the proximity query assigns a higher score to documents for which the terms foo and bar are closer together.

The trade-off, is that the proximity query is slower to perform and requires more CPU.

Solr DisMax and eDisMax query parsers can add phrase proximity matches to a user query.
Range searches

Range Queries allow one to match documents whose field(s) values are between the lower and upper bound specified by the Range Query. Range Queries can be inclusive or exclusive of the upper and lower bounds. Sorting is done lexicographically.
mod_date:[20020101 TO 20030101]

Solr's built-in field types are very convenient for performing range queries on numbers without requiring padding.

asked Sep 13, 2013 in SOLR by rajesh
edited Sep 12, 2013
0 votes

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.