[j]search uses different algorithms for phonetic search. Phonetic search and matching makes it possible to find similarly sounding terms that do not match directly in their spelling. One of the best-known algorithms in this context is soundex. The individual characteristics of the various languages supported by [j]search require the use of different algorithms to be applied to the specific rules of each language. For example the Cologne phonetics (Kölner Phonetik) is compared to the better known Russell-Soundex-method, better adapted to the German language.
[j]search also supports further algorithms:
- Beider-Morse Phonetic Matching (BMPM)
Language Detection - [j]search deduces the language of a document. This feature adds the ability to detect the language of a document before indexing and then make appropriate decisions about analysis.
Arabic, Brazilian Portuguese, Bulgarian, Chinese, Japanese, Korean, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Lao, Myanmar, Khmer, Norwegian, Persian / Farsi, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Thai, Turkish
Advanced (medical) language support is powered by the multilingual dental ontology of Simple Anno, that is based on the Glossary of Dental Medicine of Quintessence Publishing. SimpleAnno extracts medical keywords from documents and provides translations in the following languages:
Portuguese, English, French, German, Italian, Spanish
So a user can search with e.g. a portugese keywords and is provided with suitable english-language content.
[j]search can combine search results with location-specific information:
- Sort by distance
- Score/boost by distance
Calculating the geodistance is a function query that yields the calculated distance. This gives the flexibility to do a number of interesting things, such as sorting by the distance ([j]search can sort by any function query), or combining the distance with the relevancy score, such as boosting by the inverse of the distance.
Integration in third-party applications
In addition to existing plug-and-play components for Liferay, which perform a wide variety of tasks as complete applications, customer specific applications can be developed with the help of [j]search on the basis of powerful Java or Python based interfaces. [j]search provides several high-level integration libraries (full featured Java and Python APIs) and a powerful REST API that allows a caller to extract features from passed content.
From the user perspective, faceted search (also called faceted navigation, guided navigation, or parametric search; Microsoft calls them "Refiners") breaks up search results into multiple categories, typically showing counts for each, and allows the user to "drill down" or further restrict their search results based on those facets. [j]search faceting is based on realms containing indizies of various topics of medicine and dentistry. The contents of these realms come from more than 250 interfaces to different content providers.Faceted Search
The illustration below shows an example from dentistry and medicine. The facets in this example show the number of individual posts within journals.