извините, если на этот вопрос уже дан ответ, но я не нашел ничего подходящего для моего случая.
В настоящее время я пытаюсь создать функцию предложения поиска с помощью Azure Cognitive Search. Это работает нормально. Но сейчас я пытаюсь построить что-то вроде этого:
предложение поиска
В предложении должен отображаться соответствующий шаблон, который вводится в строку поиска с парой слов до и после. Также показано на картинке.
Я попытался построить массив, который разбивает весь контент на отдельные слова и ищет шаблон. Но мне это кажется очень уродливым, потому что я не знаю, как перевернуть массив и получить слова до и после. И скомпилируйте это в подходящую строку.
$.ajax({
url: "https://" + azSearchInstance + ".search.windows.net/indexes/" + azSearchIndex + "/docs?api-version=" + azApiVersion + "&search=" + text + '&$top=' + azSearchResults + '&api-key=' + azApiKey,
method: 'GET'
}).done(function (data) {
// display results
currentSuggestion2 = data[0];
add(data);
for(let i in data.value) {
var content = data.value[i].content;
var contentArray = content.split(' ');
for(let word in contentArray) {
if(contentArray[word] === text) {
console.log(contentArray[word]);
}
}
}
var render = Mustache.render(template, data);
$(".search-suggest").html(render)
});
Моя вторая попытка заключалась в использовании функции indexOf (), но это приводит к той же проблеме, потому что она возвращает только число, в котором находится соответствующий шаблон.
$.ajax({
url: "https://" + azSearchInstance + ".search.windows.net/indexes/" + azSearchIndex + "/docs?api-version=" + azApiVersion + "&search=" + text + '&$top=' + azSearchResults + '&api-key=' + azApiKey,
method: 'GET'
}).done(function (data) {
// display results
currentSuggestion2 = data[0];
add(data);
for(let i in data.value) {
var content = data.value[i].content;
console.log(content.indexOf(text));
}
var render = Mustache.render(template, data);
$(".search-suggest").html(render)
});
Я ищу регулярное выражение, которое ищет шаблон и печатает как 4-5 слов до и после шаблона. У кого-нибудь из вас есть идея?
Заранее благодарю
С уважением
ОджунбамО