如何获得 Mark.JS 中的词干亮点?
How to get the stemming highlights in Mark.JS?
我有一些工作代码:
PHP:
$conn = new PDO('mysql:host=ubuntu;port=9306;charset=utf8','','');
$query = $conn->quote($_GET['query']);
$sql = "SELECT *,SNIPPET(content,$query) AS `snippet` FROM `test1` WHERE MATCH($query)";
foreach ($conn->query($sql) as $info) {
echo $info['snippet']. "<br><br>";
}
$_SESSION['phrase'] = $query; // Only 1 word here now (or phrase with space), while need in array.
和 JS:
markInstance = new Mark(textCont);
markInstance.mark(phrase, {}); // from $_SESSION['phrase']
highlighted = [...textCont.querySelectorAll('mark')];
positions = highlighted.map(el => el.offsetTop);
我在片段输出(词干提取)中有几个不同的突出显示的词。但他们中只有一个被 Mark.JS.
突出显示
我也想在 html 文件中使用所有创建的词干作为突出显示的词。我如何在 Mark.js 中使用来自 Sphinx 的词干提取结果?
好的,所以您需要以某种方式在 Mark.js 中实现词干提取支持。也许有类似的东西
https://github.com/MarkKahn/stem 作为灵感
... 使用了很多正则表达式,因此也许可以将它们作为 mark.js 中的正则表达式突出显示来实现。
(忘记 sphinx 中的词干提取功能本身,不确定它是否有任何直接用途(除了暗示它可以实现)。你不能在 mark.js 中直接使用 sphinxes 引擎)
我有一些工作代码:
PHP:
$conn = new PDO('mysql:host=ubuntu;port=9306;charset=utf8','','');
$query = $conn->quote($_GET['query']);
$sql = "SELECT *,SNIPPET(content,$query) AS `snippet` FROM `test1` WHERE MATCH($query)";
foreach ($conn->query($sql) as $info) {
echo $info['snippet']. "<br><br>";
}
$_SESSION['phrase'] = $query; // Only 1 word here now (or phrase with space), while need in array.
和 JS:
markInstance = new Mark(textCont);
markInstance.mark(phrase, {}); // from $_SESSION['phrase']
highlighted = [...textCont.querySelectorAll('mark')];
positions = highlighted.map(el => el.offsetTop);
我在片段输出(词干提取)中有几个不同的突出显示的词。但他们中只有一个被 Mark.JS.
突出显示我也想在 html 文件中使用所有创建的词干作为突出显示的词。我如何在 Mark.js 中使用来自 Sphinx 的词干提取结果?
好的,所以您需要以某种方式在 Mark.js 中实现词干提取支持。也许有类似的东西 https://github.com/MarkKahn/stem 作为灵感
... 使用了很多正则表达式,因此也许可以将它们作为 mark.js 中的正则表达式突出显示来实现。
(忘记 sphinx 中的词干提取功能本身,不确定它是否有任何直接用途(除了暗示它可以实现)。你不能在 mark.js 中直接使用 sphinxes 引擎)