#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