Как использовать специальные символы на aspell пользовательском словаре?

Я создаю, "сделал Вы имеете в виду" funcionality на внутренней поисковой системе, с помощью aspell и php (php-pspell).

У меня есть каталог продуктов, и я хочу, чтобы названия тех продуктов были также словами в словаре, таким образом, "сделал Вы имеете в виду", может suggest'em.

Проблема состоит в том, что, когда я пытаюсь создать пользовательский словарь с PHP Pspell функции, я получаю ошибки, когда слова содержат символы, которые не находятся в диапазоне a-z, как числа, hifens, и т.д.

Например:

iphone 3gs: iPhone добавляется гладко, но 3gs не

Blu-ray: не может быть добавлен из-за -

Действительно ли возможно добавить такое слово в словаре? Или aspell просто не принимают их?

6
задан Felipe Ribeiro 4 November 2009 в 19:44
поделиться

1 ответ

Кортежи (в отличие от списков) являются хешируемыми . Это то, что позволяет кортежам быть ключами в словарях, а также членами наборов. Строго говоря, их хешабильность, а не неизменность имеет значение.

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

>>> hash((1, 2))
3713081631934410656

>>> set([(1, 2), (2, 3, 4), (1, 2)])
set([(1, 2), (2, 3, 4)])
-121--3464957-

На самом деле, ваш POM неправильно, это не хватает существенных частей. Вам нужно хотя бы что-то вроде этого (это минимальный POM):

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.myproject</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>My App</name>
</project>

Чтобы добавить зависимость пружины, я тогда предлагаю использовать следующее:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.myproject</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>My App</name>

  <properties>
    <org.springframework.version>3.0.0.RELEASE</org.springframework.version>
  </properties>

  <dependencies>

    <!--
        Core utilities used by other modules.
        Define this if you use Spring Utility APIs (org.springframework.core.*/org.springframework.util.*)
    -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

  </dependencies>
</project>

Для полного списка артефактов весны, посмотрите на Получение артефактов весны 3 с Maven и выберите то, что вам нужно.

Обновление: К вашему сведению, существуют многочисленные поисковые системы репозитория , которые могут помочь вам найти артефакты. Это может быть полезно, если ты не привык к Мейвену. Также обратите внимание, что вы можете получить некоторую поддержку IDE для этого (Idea, Eclipse, NetBeans, я думаю, что все они предлагают функцию поиска в репозитории). На самом деле, в вашем случае я бы предложил использовать SpringSource Tools Suite (STS), который является интегрированной версией Eclipse (объединяя некоторые плагины для разработки проектов Spring, включая поддержку Maven). STS - это полностью интегрированная среда, очень близкая к тому, что вы можете получить в .NET world IMO. Тебе понравится.

-121--3853689-

Лучший способ сделать это - заменить специальные символы, включая пробел, некоторой последовательностью клавиш. скажем, xxx. Вы должны сделать это для всех символов вне тех, которые aspell принимает.

0
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: