Telligent Community search supports a simplified subset of the Lucene syntax
- + Required operator. The term after the "+" must exist in the document.
- Example: +release beta
- All documents returned must include the term "release" and may contain the term "beta".
- All documents returned must include the term "release" and may contain the term "beta".
- Example: +release beta
- - Prohibit operator. Excludes documents that contain the after the "-" operator
- Example: -event
- Results returned will not include the term "event".
- Example: -"event registration"
- Results returned will not include the phrase "event registration".
- Results returned will not include the phrase "event registration".
- Example: -event
- Grouping
- Example: title:community (type:blog OR type:comment)
- Results returned must have "community" in the title and be either a blog post or comment.
- Results returned must have "community" in the title and be either a blog post or comment.
- Example: title:community (type:blog OR type:comment)
- Field query. Target a specific field for searching
- Example: "title:enrollment"
- Results that contain the term "enrollment" in the title.
- When a field query is used, you can use Boolean operators. View a list of fields used out of the box.
- Example: title:enrollment AND group:5
- Fields not recognized will be ignored and default to standard processing.
- Example: "title:enrollment"
The query processing in Solr is extremely configurable. Telligent Community uses Solr's EDisMaxRequestHandler for most queries. For non-field searches, the term(s) queried are searched across the title, body, tag and attachment text. The default behavior is for a number of matches terms in the document to be strict at lower counts and get more relaxes as the number of terms increase (see the "mm" configuration setting for an explanation). Community ships with a settings of:
- 1-2 terms, all terms must exist in the document
- 3 terms, at least two of the three terms must exist in the document
- 4-9 terms, 75% of any of the terms must exist in the document
- 10+ terms, 66% of any of the terms must exist in the document
When you search for the term "class enrollment", Solr (technically the EDisMaxRequestHandler) will take responsibility for building a query based on the handler configuration and return documents that match the specified terms. The EDisMaxRequestHandler configuration is the best place to start if you want to tune queries.