MarkLogi c - Включение stemming также будет искать американское / британское sh правописание - PullRequest
1 голос
/ 12 марта 2020

MarkLogi c 9.0.8.2

У нас есть бизнес-требования для поддержки американских / британских sh слов в поисковых запросах, таких как

  • волокно или волокно
  • color or color

ТАК, если мы включим стемминг на уровне базы данных, мы решим эту проблему, или нам нужно настроить больше, чтобы он работал?

Стемминг https://docs.marklogic.com/guide/search-dev/stemming

1 Ответ

1 голос
/ 15 марта 2020

Да, включение стемминга в базе данных было бы самым простым способом достижения того, что вы хотите сделать.

Ниже приведен код, который вы можете использовать для быстрого эксперимента и проверки того, что он будет работать для вас:

xquery version "1.0-ml";
(: enable stemmed searches :)
import module namespace admin = "http://marklogic.com/xdmp/admin" at "/MarkLogic/admin.xqy";

let $config := admin:get-configuration()
return
  (: experiment with various settings: off, basic, advanced, decompounding :) 
  admin:database-set-stemmed-searches($config, xdmp:database("Documents"), "basic") 
  ! admin:save-configuration(.)
;

(: insert two test documents with different spelling for color :)
("color","colour") ! xdmp:document-insert("/"||.||".xml", <doc>{.}</doc>)
;

(: search and see what is returned :)
cts:search(doc(), cts:word-query("colour"))
...