закладка как переключиться на поисковую систему fuse и задать параметры

#r #search #bookdown #fuse

Вопрос:

Как переключить поисковую систему

Начиная с версии 0.23, должна быть возможность переключения с lunr.js чтобы fuse.js, смотрите (новости о списании 0.23). Это также дает возможность настроить некоторые параметры поисковой системы см. fuse.js варианты.

Я ищу возможность поиска двух слов на странице в любом порядке. Надеюсь, вам удастся отобразить только те страницы, которые содержат все слова, введенные в поле поиска, независимо от порядка. В случае, если это невозможно, мне может потребоваться добавить DT или даже блестящее приложение

Я добавил следующий код в YAML в своем index.Rmd

 --- 
title: "A Minimal Book Example"
author: "John Doe"
date: "`r Sys.Date()`"
site: bookdown::bookdown_site
documentclass: book
output:
  bookdown::gitbook:
    config:
      search:
        engine: fuse #lunr # or fuse https://opensourcelibs.com/lib/lunr-module
        # options to control/tune search engine behavior (for
        # fuse.js, refer to https://fusejs.io/api/options.html)
        options: 
          isCaseSensitive: true
          threshold: 0.0
          distance: 0        
----
 

Проверьте поисковую систему

Поведение поиска по-прежнему выглядит как «lunr», и установленные параметры не принимаются во внимание.

Файл «_booklibsgitbook-2.6.7jsplugin-search.js» похоже, указывает,какая поисковая система используется и с какими опциями, см. Предохранитель, параметры js

в моем случае я вижу следующее, что указывает на то, что мой YAML не был принят во внимание:

 gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) {
    var index = null;
    var fuse = null;
    var _search = {engine: 'lunr', opts: {}};
 

Чего мне не хватает?

bs4_book

Я также создал сайт с помощью bs4_book. Файл bs4_book.js явно использует предохранитель и вообще никаких ссылок на lunr.

Комментарии:

1. var _search = {engine: 'lunr', opts: {}}; это не то место, на которое стоит смотреть. Это: github.com/rstudio/bookdown/blob/… и о вариантах применяются: github.com/rstudio/bookdown/blob/… я только что протестировал его, и варианты были применены правильно (поиск чувствителен к регистру), поэтому не могли бы вы разъяснить «поведение по-прежнему кажется, чтобы быть ‘lunr и варианты набора не учитываются»?

2. Извините, я ошибся, это действительно работает! большое спасибо Ихуэй. Поиск действительно чувствителен к регистру, я смотрел на подсветку. Я искал EX и увидел, что Ex был выделен в «Минимальном примере книги», однако не заметил, что результатов поиска не было. При поиске на Ex результаты поиска отображаются (как и должно быть): 1 Предварительные условия 5 Приложений Превосходно, большое спасибо. Закладка-это потрясающе (теперь мне нужно посмотреть, смогу ли я настроить поиск таким образом, чтобы он отображал только страницы со всеми словами на странице независимо от порядка)

3. Не беспокойтесь, и вообще не нужно извиняться! Я рад, что это действительно работает. Я вижу, что подсветка действительно сбивает с толку.

Ответ №1:

Функциональность работает так, как описано. Вы также можете использовать файл _output.yml и включить следующий код:

 bookdown::gitbook:
  config:
    search:
      engine: fuse #lunr # or fuse https://opensourcelibs.com/lib/lunr-module
      # options to control/tune search engine behavior (for
      # fuse.js, refer to https://fusejs.io/api/options.html)
      options: 
        isCaseSensitive: true
        threshold: 0.0
        distance: 0